node.js - node_modules 目录包含在发布到 NPM 注册表的模块中

标签 node.js npm

我将我的模块发布到 NPM 注册表。当我使用它安装时

npm install --save-dev X

我看到安装中包含了node_modules文件夹,这样当我进入依赖于X的项目Y时,我看到:

Y/node_modules/X/node_modules

这怎么可能?

我的 X 项目中的 .npmignore 文件如下:

.idea
node_modules
bower_components
internal-docs

有人知道会发生什么吗?

最佳答案

您不需要将 node_modules 添加到 .npmignore 中;它是ignored by default :

Additionally, everything in node_modules is ignored, except for bundled dependencies. npm automatically handles this for you, so don't bother adding node_modules to .npmignore.

npm install 命令自然会安装 package.json 文件中列出的包的依赖项。安装整个依赖关系树是 npm install 过程的正常部分,否则该包将无法真正工作。

如果您想真正确定,可以使用npm pack命令生成一个 tarball(类似于 zip 文件),您可以在运行 npmpublish 时检查并查看实际发布的文件。

关于node.js - node_modules 目录包含在发布到 NPM 注册表的模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37894062/

相关文章:

javascript - 在 Node 中的进程之间发送数据是否昂贵/高效?

node.js - 如何检查 Mongoose 模型中的字段是否设置为 true

javascript - Node.js 6.3.1 不支持对象 rest/spread 属性吗?

node.js - 为什么 npm api connect 在 Windows 10 上无法正确安装?

logging - 如何避免创建 `npm-debug.log`

javascript - Bower - EPERM,取消链接错误

cordova - Electron Builder Appx 未在 Windows 商店上验证

javascript - Aurelia JSPM install -y 在窗口上不起作用

node.js - 如何强制 NPM 在不同文件夹中查找已安装的软件包?

node.js - 如何使用 Nestjs HTTP 模块正确处理使用 Axios 发出 HTTP 请求时返回的可观察值