我有一个简单的本地命令行模块,我想以两种不同的方式使用(基本上是不同的默认值),但它使用相同的核心逻辑,所以我想将该逻辑提取到第三个实体并使用它来自这两个切入点。
我使用两个bin
命令脚本,但是每个文件都有自己运行的逻辑副本,我不知道如何将这个重复的代码拉出到同一个模块中的第三个文件中。我想我可以通过创建一个完整的单独模块并用require()
加载它来实现它,但我宁愿将它保持在一起,因为它紧密耦合。
结构是这样的:
bin\
cmdone.js
cmdtwo.js
core.js
package.json
我想将cmdone.js
和cmdtwo.js
中当前存在的逻辑移动到core.js
,并从bin
中的两个文件中引用它。这可能吗?
答案 0 :(得分:1)
如果我理解您的问题是正确的,那么您需要的是nodejs
的{{3}}函数
答案 1 :(得分:1)
嗯,经过一些更多的探索,我发现这有效:
const test = require('../core.js');
我想我误解了Node模块和NPM包之间的区别。我基本上将两者等同起来,但似乎你可以完全在包中创建和使用模块,它们不必是一对一的。