我定义了一个具有以下依赖项的 NPM 包:
"dependencies": {
"kwire": "0.0.1"
}
然后,我创建一个新的项目文件夹,其中根目录中有一个 node_modules
文件夹和一个 package.json
,然后运行 npm install --save my-package
.
我最终将 my-package
放置在 node_modules
中,并将其所有依赖项放置在内部 node_modules
文件夹中,位于my-package
文件夹。
这一切看起来都很正常。
当我从 my-project
文件夹启动 Node.js REPL 并写入:
var m = require('my-package');
这会导致错误kwire
未定义。
它在 my-package
内像这样的线上掉落:
require('kwire');
我需要做什么才能确保my-package
可以看到kwire
?
最佳答案
我建议在 package.json
文件中使用 "files": []
。我的典型工作流程是将我的 package.json
构造为:
"dependencies": {
"package1": "latest",
"package2": "latest"
...
},
"files": [
"index.js",
"lib/"
]
在 index.js
中,我更喜欢将我的依赖项从 lib/
文件夹传递为:
'use strict';
module.exports = require('./lib/bootstrap');
在/lib/bootstrap.js 中我可以开始注入(inject)模块:
var test = require('package1');
或者本地依赖项:
var Router = require('./router');
Here也是解释模块依赖关系的有用要点。
关于javascript - NodeJS 包依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31303990/