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