发布 npm 包时排除 dev 依赖

Mar*_*cus 5 node.js npm webpack

所以我正在向 npm 发布一个包。它基本上只是一个简单的模块,可以让用户进行 Ajax 调用,并且可以通过几种方式进行配置。

我已经读到在本地测试安装并尝试过是个好主意。我已经通过“npm pack”命令打包了包,切换到另一个目录,然后尝试通过“npm install path-to-file-that-was-just-created.tgz”安装包。到目前为止一切正常,我有一个 node_modules 文件夹,其中包含我的捆绑代码。

但是,即使只需要捆绑文件并且没有定义其他依赖项,也安装了我在实际模块的 package.json 中列为 devDependencies 的所有依赖项。我尝试更新 npm-shrinkwrap.json,并检查每个依赖项是否都将 dev 属性标记为 true。

目标实际上是让用户安装此模块,然后不安装任何依赖项,因为他们不需要 babel 或 mocha 来运行该模块。如何从包中排除这些?谢谢!

Pub*_*oda 8

https://docs.npmjs.com/cli/install

使用 --production 标志避免安装开发依赖项

对于已发布的模块,您不需要做任何事情,当用户安装您的库时,只会安装非开发依赖项

  • 我刚刚尝试过,但它似乎并不奇怪。它仍然安装我所有的开发依赖项。我已经检查了 package.json、npm-shrinkwrap.json,所有依赖项都标记为 dev : true 或在 devDependency 下列出,但它们仍然被安装。我确实设法通过将收缩包装文件添加到我的 npmignore 中来排除它们,但我仍然认为它应该可以工作 (3认同)