2015-11-23 141 views
1

嘿,我試圖爲我的應用獲取tablesorter。我想用這個(https://github.com/tristen/tablesort),但我有問題,讓它工作。我把它放在我的package.json文件中,然後在整個NPM中安裝它,稍後在代碼var tablesort = require('tablesort');中要求它。主要問題在於隨附的模塊。在github項目中,他們需要這樣的:<script src='tablesort.number.js'></script>。如何將這種代碼轉換爲節點/需要友好的代碼來加載所有這些模塊並讓我對錶格進行排序?我不知道如何讓這個tablesorter與nodejs應用程序一起運行。如何在node.js中需要額外的模塊應用

+0

您是否正在使用諸如Browserify或Webpack之類的構建工具捆綁您的應用程序,或者您是否試圖直接從'node_modules'加載文件? –

+0

我正在使用browserify。 – Prototype

回答

1

由於you use Browserify,你應該還好吧。

TableSort庫的源代碼中有兼容CommonJS的export。添加

var TableSort = require("tablesort"); 

到你的源代碼應該足以包含庫到你的內置捆綁,並提供你的TableSort構造參考。該項目的自述文件甚至包括has that example

然而,捆綁排序方法也是如此,因爲他們希望找到對TableSort原型的全局引用,然後使用其擴展方法(例如, TableSort.date

您可以Browserify-shim使CommonJS不兼容的模塊CommonJS兼容。但是,在我的快速實驗中,沒有切片和切片,我無法正常工作。由於某些原因,當在文件包的子文件夾中包含文件時,browserify-shim的文件解析失敗。

我確實設法將排序方法複製到我的項目文件夾中。我做了一個Gist demo包括一個shimmed排序方法。克隆它,運行npm install && npm run build,然後在瀏覽器中打開index.html

0

您可以從heretablesort.js下載到您的目錄,然後 這個添加到文件:

module.exports = Tablesort; 

然後,如果你想有一個spesific tablesort,例如「數字」。你應該從here

下載tablesort.number.js然後,你應該將這個變化添加到tablesort.number.js

var Tablesort= require('./tablesort.js') 

    module.exports = Tablesort; 

Finaly,在文件中使用此:

var tablesort = require('./tablesort.number.js') 
+0

我試過了,但不能像這樣工作。它說,Tablesort沒有定義(例如,如果我需要號碼模塊,則在號碼模塊內部)。 – Prototype

+0

查看上面的更新 – shudima

+0

我得到了我有我的表格呈現,但排序仍然無法正常工作的點。雖然沒有錯誤,但表格標題不可點擊。它是一個基本的html表格,沒什麼特別的。我應該在表頭中包含一些類似html的類嗎?我在例子中看到使用了sort-header類,但在任何地方都沒有提及,並且在主表中對類進行排序。 – Prototype