Node.js 节点打包依赖项

Node.js 节点打包依赖项,node.js,npm,dependencies,package.json,Node.js,Npm,Dependencies,Package.json,我有一个node.js项目,它使用了我在package.json中列出的依赖项。这一切都与依赖关系良好,但我希望能够在没有人下载依赖关系的情况下发布我的项目。如何将依赖项复制到项目中,并在项目文件中与require(“”)一起使用它?这取决于您的交付流程。(在什么环境中、什么类型的应用程序、什么工具、如何交付以及在何处交付……) 如果您的包.json中存在依赖项,那么您可以通过执行npm install--production并使用require('lib')来检索它 还可以设置您的环境NODE

我有一个node.js项目,它使用了我在package.json中列出的依赖项。这一切都与依赖关系良好,但我希望能够在没有人下载依赖关系的情况下发布我的项目。如何将依赖项复制到项目中,并在项目文件中与
require(“”)
一起使用它?

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

如果您的
包.json中存在依赖项,那么您可以通过执行
npm install--production
并使用
require('lib')来检索它

还可以设置您的环境
NODE_ENV=production
,然后运行
npm install

如果您无法运行
npm
,我建议您将
node\u模块
包含在分布式软件包中

更新 与您的聊天后,似乎依赖项可能未随
npm
一起安装

它挂接在一个可以使用git存储库安装插件的系统中

因为您使用git存储库来托管模块,所以当您使用npm install git安装模块时,您应该能够将
node\u模块
保存到
.gitignore
+https://github.com/namespace/repo.git
,由于使用
npm install
读取
package.json
,它将自动安装

如果您的客户不依赖npm,那么您唯一的选择就是在github repo上保留
node\u模块

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

require('./node_modules/module-a');

也许还有第三种选择,与您的客户端软件一起检查它是否可以从npm注册表安装,如果是这种情况,那么您应该能够从repo忽略
node_模块
,如果不能,则意味着您不能使用github存储库安装npm,相反,请使用真正的npm注册表,如或使用

托管您自己的注册表。我已经尝试过了,但没有成功。它只是像平常一样将内容打包到节点模块中。我如何至少使节点模块更小以用于生产?但理想情况下,我希望二手回购在最高目录中。你能更详细地描述一下你想要实现的目标吗。因为我对你的项目一无所知,而你(再次)问的正是我刚才回答的问题。这将有助于引导你走向正确的方向。我的项目位于。正如您所看到的,现在我已经取消了所需的依赖项。但是,我希望能够将其从node modules文件夹中取出,但仍然使用require()。我也只想要那种依赖,我明白了。它位于
node\u模块
中这一事实不是节点的问题,默认情况下,它位于
node\u模块
中,因此您不应该移动依赖项。另外,我必须问你如何使用你的模块。因为如果您通过运行
npm publish
在npm上发布它,那么它将打包所有内容,包括您的节点模块。您不需要在github上有
节点\u模块
文件夹,但在创建归档文件时需要它。我可以更改外观位置吗?