如何编写使用多个文件的NPM模块?

时间:2016-06-25 18:28:22

标签: node.js npm

我有一个简单的本地命令行模块,我想以两种不同的方式使用(基本上是不同的默认值),但它使用相同的核心逻辑,所以我想将该逻辑提取到第三个实体并使用它来自这两个切入点。

我使用两个bin命令脚本,但是每个文件都有自己运行的逻辑副本,我不知道如何将这个重复的代码拉出到同一个模块中的第三个文件中。我想我可以通过创建一个完整的单独模块并用require()加载它来实现它,但我宁愿将它保持在一起,因为它紧密耦合。

结构是这样的:

bin\
  cmdone.js
  cmdtwo.js
core.js
package.json

我想将cmdone.jscmdtwo.js中当前存在的逻辑移动到core.js,并从bin中的两个文件中引用它。这可能吗?

2 个答案:

答案 0 :(得分:1)

如果我理解您的问题是正确的,那么您需要的是nodejs的{​​{3}}函数

答案 1 :(得分:1)

嗯,经过一些更多的探索,我发现这有效:

const test = require('../core.js');

我想我误解了Node模块和NPM包之间的区别。我基本上将两者等同起来,但似乎你可以完全在包中创建和使用模块,它们不必是一对一的。