节点打包的依赖项

时间:2019-01-11 13:13:56

标签: node.js npm dependencies package.json

我有一个node.js项目,该项目使用了package.json中列出的依赖项。依赖项都可以正常工作,但是我希望能够在无需下载依赖项的情况下发布项目。如何将依赖项复制到项目中,并仍将其与项目文件中的require('')一起使用?

1 个答案:

答案 0 :(得分:2)

这取决于您的交付流程。 (在什么环境,什么类型的应用程序,什么工具,如何以及在何处交付……)

如果您的package.json dependencies中存在依赖项,则可以通过执行npm install --production并在源代码中照常使用require('lib');来检索它。

还可以设置环境NODE_ENV=production并仅运行npm install

如果您无法运行npm,建议您将node_modules包含在分布式软件包中。

更新

与您的聊天之后,似乎该依赖项未与npm一起安装。

它被钩在可以使用git存储库安装插件的系统中。

由于使用git存储库托管模块,因此在使用node_modules安装模块时,应该可以将.gitignore保留在npm install git+https://github.com/namespace/repo.git中,由于{ {1}}读npm install

如果您的客户端不依赖npm,那么您唯一的选择就是将package.json保留在github仓库中。

在这种情况下,您的导入应如下所示:

node_modules

也许还有第三种选择,请检查您的客户端软件是否可以从npm注册表中安装,如果是这种情况,那么您应该能够从存储库中忽略require('./node_modules/module-a'); ,如果可以,那么这意味着您不能使用github存储库进行npm安装,而是使用真正的npm注册表(例如https://registry.npmjs.com或使用https://github.com/verdaccio/verdaccio

托管自己的注册表)