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