如何在使用“npm pack”命令时包含“node_modules”文件夹

11

在执行'npm pack'命令时,我需要将一些模块与应用程序一起包含。我们是否有选项可以将npm模块与应用程序一起包含?

2个回答

16

在 package.json 文件中,我们可以指定需要在打包时捆绑的依赖项列表。

....
  "bundledDependencies": [
    "dependency_1",
    "dependency_2"
]
....

有关bundledDependency的更多详细信息,请点击此处查看。

维护此列表可能需要更多手动工作。为了帮助解决这个问题,有一个名为bundle-deps的库可用。

用法

$ bundle-deps [path/to/project]
bundled 48 dependencies.
$ npm pack
// you will see the packaged file contains all your dependencies specified.

或者,“bundledDependencies”可以定义为布尔值。 true的值将捆绑所有依赖项,false的值将不捆绑任何依赖项。

bundledDependencies文档


3
根据文档 https://docs.npmjs.com/cli/v8/configuring-npm/package-json: 另外,“bundledDependencies”也可以定义为布尔值。值为true将捆绑所有依赖项,值为false将不捆绑任何依赖项。现在我们只需编写 "bundleDependencies": true,即可捆绑所有依赖项。 - Sovattha Sok
1
谢谢@SovatthaSok。我已更新答案。 - Sairam Krish
1
请注意,bundleDependenciesnpm 8 中默认的字段名,但 bundledDependencies 仍然有效。 - Marc Durdin

0
如果您想在自己的模块中使用类似于Node.js的require的方式依赖于“package”,那么您需要进行本地安装,这是npm install的默认行为。另一方面,如果您想将其用作命令行工具,例如grunt CLI,那么您需要全局安装它。
有关更多说明,请参见此处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接