我正在将一个包发布到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来运行该模块。 如何将它们从包中排除? 谢谢!
npm pack
,但是如果您正常发布模块,当他们运行npm install your-module-name
时,默认情况下不会安装devDependencies
,除非他们明确地进入node_modules
并运行npm install
。 - Patrick Roberts