javascript - NodeJS 包依赖

标签 javascript node.js module npm

我定义了一个具有以下依赖项的 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/

相关文章:

javascript - 有没有办法使用 "fill"和 "stroke"作为区域比例颜色的属性?

javascript - 如何在每次鼠标悬停事件时更改单个 div 的颜色?

node.js - Azure 和移动服务用于文件上传(编码后)?

android - 在所有模块上运行 android checkstyle

Python:调用方法返回 <[object] at [pointer]> 而不是 object

javascript - 在 SPA 中保持元素加载基于 knockout 的 View

javascript - 无法推断查询字段以在插入时设置错误

node.js - 聊天应用程序的结构和所需的技术

javascript - angularjs 和expressjs 路由崩溃(噢,啪!)

wpf - PRISM + MEF + MVVM——不确定从哪里开始?