如何在 node.js 应用程序中要求额外的模块
How to require additional modules in node.js app
嘿,我正在尝试为我的应用程序获取一个表格排序器。我想使用这个 (https://github.com/tristen/tablesort),但我在让它工作时遇到了问题。我在我的 package.json 文件中有它,我在整个 NPM 中安装它,然后在像 var tablesort = require('tablesort');
这样的代码中需要它。主要问题在于它附带的模块。在 github 项目中,它们是这样要求的:<script src='tablesort.number.js'></script>
。我怎样才能将这种代码转换为 node/require 友好的代码来加载所有这些模块并让我对表格进行排序?我不知道如何获得这个 tablesorter 运行 nodejs 应用程序。
您可以从here下载tablesort.js
到您的目录,然后
将此添加到文件中:
module.exports = Tablesort;
然后,如果你想要一个特定的表排序,例如"number"。你应该从 here
下载 tablesort.number.js
然后,您应该将此更改添加到 tablesort.number.js
var Tablesort= require('./tablesort.js')
module.exports = Tablesort;
最后,在你的文件中你使用这个:
var tablesort = require('./tablesort.number.js')
从开始,你应该没事了。
TableSort 库在其源代码中具有 CommonJS 兼容 export。添加
var TableSort = require("tablesort");
您的源代码应该足以将库包含到您的构建包中,并为您提供对 TableSort 构造函数的引用。该项目的 README 甚至 has that example.
然而,对于捆绑的排序方法来说情况并非如此,因为他们希望找到对 TableSort
原型的全局引用,然后他们使用其扩展方法对其进行扩展,例如TableSort.date.
您可以Browserify-shim使与 CommonJS 不兼容的模块与 CommonJS 兼容。但是,在我的快速实验中,如果不进行一些切片和切块,我将无法使其正常工作。出于某种原因,当将文件包含在包的子文件夹中时,browserify-shim 的文件解析失败。
我确实设法通过将排序方法复制到我的项目文件夹中来包含它们。我做了一个 Gist demo 包括一个垫片排序方法。克隆它,运行 npm install && npm run build
,然后在浏览器中打开 index.html
。
嘿,我正在尝试为我的应用程序获取一个表格排序器。我想使用这个 (https://github.com/tristen/tablesort),但我在让它工作时遇到了问题。我在我的 package.json 文件中有它,我在整个 NPM 中安装它,然后在像 var tablesort = require('tablesort');
这样的代码中需要它。主要问题在于它附带的模块。在 github 项目中,它们是这样要求的:<script src='tablesort.number.js'></script>
。我怎样才能将这种代码转换为 node/require 友好的代码来加载所有这些模块并让我对表格进行排序?我不知道如何获得这个 tablesorter 运行 nodejs 应用程序。
您可以从here下载tablesort.js
到您的目录,然后
将此添加到文件中:
module.exports = Tablesort;
然后,如果你想要一个特定的表排序,例如"number"。你应该从 here
下载tablesort.number.js
然后,您应该将此更改添加到 tablesort.number.js
var Tablesort= require('./tablesort.js')
module.exports = Tablesort;
最后,在你的文件中你使用这个:
var tablesort = require('./tablesort.number.js')
从
TableSort 库在其源代码中具有 CommonJS 兼容 export。添加
var TableSort = require("tablesort");
您的源代码应该足以将库包含到您的构建包中,并为您提供对 TableSort 构造函数的引用。该项目的 README 甚至 has that example.
然而,对于捆绑的排序方法来说情况并非如此,因为他们希望找到对 TableSort
原型的全局引用,然后他们使用其扩展方法对其进行扩展,例如TableSort.date.
您可以Browserify-shim使与 CommonJS 不兼容的模块与 CommonJS 兼容。但是,在我的快速实验中,如果不进行一些切片和切块,我将无法使其正常工作。出于某种原因,当将文件包含在包的子文件夹中时,browserify-shim 的文件解析失败。
我确实设法通过将排序方法复制到我的项目文件夹中来包含它们。我做了一个 Gist demo 包括一个垫片排序方法。克隆它,运行 npm install && npm run build
,然后在浏览器中打开 index.html
。