使用已在 NPM 上注册的模块时,包含它们的过程很简单:运行 npm install <package>
然后添加 var package = require('<package>')
但是,在我自己的模块上工作时,我不确定“设置”的方式。我还没准备好发布到 NPM,但我确实想 require
模块的方式与之前概述的方式相同。
因此,我完成了以下步骤:
- 在
node_moduels
中创建了一个子目录我的模块目录 - 添加了
package.json
文件(通过 npm init)在这个新目录中 - 包含
dependencies
package.json
部分文件
这是在本地使用 Node 模块的正确方法吗。
此外,当我运行 npm install
时在我的模块的 package.json 文件中似乎没有检测到依赖项 - 我认为这是我处理事情的方式的问题?
最佳答案
我不建议将它放在 node_modules
目录中。此文件夹应从您的源代码管理中排除。
这是一个最小的端到端示例。
把这个文件放在任何你喜欢的地方。我建议在您的目录结构中使用“lib”文件夹
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
,您的控制台输出将是:
hello there
随着 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
另一个编辑
作为另一种选择,您可以在不发布到 NPM 的情况下在 package.json 中指定 git url
关于node.js - 在本地需要 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537577/