使用已在NPM上注册的模块时,包含它们的过程很简单:运行npm install <package>
然后添加var package = require('<package'>)
然而,我不知道如何设置&#34;设置&#34;在我自己的模块上工作时。我还没有准备好发布到NPM,但我确实希望require
模块的方式与之前概述的相同。
因此,我已完成以下步骤:
node_moduels
目录中创建了一个子目录package.json
个文件(通过npm init)
dependencies
文件package.json
部分
醇>
这是在本地使用节点模块的正确方法吗?
此外,当我运行npm install
时,似乎没有在我的模块的package.json文件中检测到依赖项 - 我认为这是我对事物的处理方式的问题?
答案 0 :(得分:3)
我不建议将其放在node_modules
目录中。此文件夹应从源代码管理中排除。
这是一个最小的端到端示例。
将此文件放在任何您喜欢的位置。我建议一个&#39; lib&#39;目录结构中的文件夹
<强> myModule.js 强>
module.exports = function(callback){
return callback("hello there");
};
然后,无论你想在哪里使用它:
app.js
var myModule = require('./lib/myModule');
myModule.sayHello(function(hello) {
console.log(hello);
});
现在,如果你运行node app.js
,你的控制台输出将是:
你好
随着myModule
的增长,您可以将其重构为一组单独的文件,为其创建package.json,并将其发布到NPM
修改强>
根据您的评论,看起来这就是您想要的
Local dependency in package.json
因此,基于此,与上面的示例一起,按如下方式编辑package.json
{
"dependencies": {
"myModule": "file:../lib/myModule"
}
}
然后你可以require
作为:
var myModule = require('myModule');
如果/当您将myModule
发布到npm时,您只需更改您的package.json
另一个编辑
作为另一种选择,您可以在package.json中指定git url而不必发布到NPM