javascript - 如何在 Node.js 应用程序中需要额外的模块

标签 javascript node.js require tablesort

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

最佳答案

you use Browserify ,你应该没事。

TableSort 库具有 CommonJS 兼容 export在其源代码中。添加

var TableSort = require("tablesort");

您的源代码应该足以将库包含到您构建的包中,并为您提供对 TableSort 构造函数的引用。该项目的README甚至是has that example .

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

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

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

关于javascript - 如何在 Node.js 应用程序中需要额外的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33873368/

相关文章:

php - 使用Jquery实现翻转效果

javascript - 正则表达式 - 名称中仅允许一个空格和一个连字符

javascript - 错误: Can't wait without a fiber

php - 如何获取包含 php 文件的页面

Node.js - 要求未定义异常

javascript - CKeditor 自己的带对话框的插件

node.js - 使用 typescript/mocha 进行单元测试时找不到模块

node.js - Nodejs中的get方法获取错误的参数

node.js - browserify bundle electron app 主进程文件

node.js - mongoose findById 不能使用正确的 ID