1

嘿,我正在尝试为我的应用程序获取表格排序器。我想用这个(https://github.com/tristen/tablesort),但我无法让它工作。我在我的 package.json 文件中有它,我在整个 NPM 中安装它,然后在类似var tablesort = require('tablesort');. 主要问题在于它附带的模块。在 github 项目中,他们需要这样:<script src='tablesort.number.js'></script>. 如何将这种代码转换为节点/需要友好的代码,以加载所有这些模块并让我对表进行排序?我不知道如何让这个 tablesorter 与 nodejs 应用程序一起运行。

4

2 回答 2

1

既然你使用 Browserify,你应该没问题。

TableSort 库在其源代码中有一个 CommonJS 兼容的导出。添加

var TableSort = require("tablesort");

您的源代码应该足以将库包含到您的构建包中,并为您提供对 TableSort 构造函数的引用。该项目的自述文件甚至有那个例子

但是,捆绑的排序方法并非如此,因为它们希望找到对TableSort原型的全局引用,然后使用其扩展方法对其进行扩展,例如TableSort.date

您可以Browserify-shim使 CommonJS 不兼容的模块与 CommonJS 兼容。然而,在我的快速实验中,如果没有切片和切块,我就无法让它正常工作。由于某种原因,在包的子文件夹中包含文件时,browserify-shim 的文件解析失败。

我确实设法通过将排序方法复制到我的项目文件夹中来包含它们。我做了一个Gist 演示,其中包含一个 shimmed 排序方法。克隆它,运行npm install && npm run build,然后index.html在浏览器中打开。

于 2015-11-24T15:41:17.903 回答
0

您可以tablesort.js此处下载 到您的目录,然后将其添加到文件中:

  module.exports =  Tablesort;

然后,如果您想要一个特定的表格排序,例如“数字”。你应该tablesort.number.js这里下载

然后,您应该将此更改添加到tablesort.number.js

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

    module.exports =  Tablesort;

最后,在你的文件中你使用这个:

var tablesort = require('./tablesort.number.js')
于 2015-11-23T14:27:08.677 回答