NodeJS 包依赖

NodeJS package dependencies

我已经定义了一个具有以下依赖项的 NPM 包:

 "dependencies": {
    "kwire": "0.0.1"
  }

然后我创建一个新的项目文件夹,在根目录中有一个 node_modules 文件夹和一个 package.json,以及 运行 npm install --save my-package.

我最终将 my-package 放置在 node_modules 中,并将其所有依赖项放置在 my-package 文件夹内的内部 node_modules 文件夹中。

这一切看起来都很正常。

当我从 my-project 文件夹启动 Node.js REPL 并写入:

var m = require('my-package');

它会导致错误 kwire is not defined.

它在里面像这样的一条线上掉下来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 我可以开始注入一个模块:

var test = require('package1');

或本地依赖项:

var Router = require('./router');

Here 也是解释模块依赖关系的有用要点。