【问题标题】:Is there a way to group dependencies in package.json?有没有办法在 package.json 中对依赖项进行分组?
【发布时间】:2020-01-05 16:14:56
【问题描述】:

我有一个 package.json

"dependencies": {
    "@babel/core": "7.2.2",
    "@babel/preset-env": "7.3.1",
    "@babel/register": "7.0.0",
    "babel-loader": "8.0.5",
    "browser-sync": "^2.26.0",
    "@hot-loader/react-dom": "^16.8.6",
    "react": "^16.10.1",
    "react-dom": "^16.10.1",
    "react-hot-loader": "^4.12.13",
    "webpack": "^4.41.0",
    "glob": "^7.1.6",
    "args": "^5.0.1",
    "webpack-dev-middleware": "^3.7.2",
    "webpack-hot-middleware": "^2.25.0"
  },

我有两个构建过程:

构建 A - 标准应用程序。

git clone <myrepo.git>
npm install
npm run build-app
deploy

构建 B - 静态文件

git clone <myrepo.git>
npm install glob args // I want to read this from package.json
npm run build-static
deploy-static

我想要将依赖项分成两组。

原因是安装所有依赖项大约需要 2 分钟。对于第二个构建任务,我只需要不到 10 秒的 2-3 个包。目前,我的构建程序中有npm install glob args 硬编码。我想从同一个 package.json 中读取它。


我不能使用依赖项与依赖项,因为我有一些仅用于开发的依赖项,并使用标志 npm install --production 仅安装所需的依赖项(没有 devDependencies)。

【问题讨论】:

  • 将它们拆分为依赖项和devDependencies?然后你可以第二次使用npm install --only=prod,或者设置NODE_ENV=production自动执行。
  • @jonrsharpe 我想控制基于不同构建类型的依赖关系。我不能使用环境,因为我需要能够在开发、质量保证、生产方面进行各种构建。
  • edit问题提供此上下文。例如,您的依赖项列表不显示任何 devDependencies。有多少环境?为什么它们有不同的依赖关系?
  • 这能回答你的问题吗? Install subset of dependencies with npm

标签: javascript node.js


【解决方案1】:

您当然可以将它们分组;有两种类型的依赖,一种是开发的,另一种是生产的。这是一个参考:https://docs.npmjs.com/specifying-dependencies-and-devdependencies-in-a-package-json-file

如果您想创建两个以上,请查看此包:https://www.npmjs.com/package/group-dependencies

【讨论】:

猜你喜欢
  • 2019-09-03
  • 2018-05-02
  • 2021-10-31
  • 1970-01-01
  • 2019-03-04
  • 2015-11-29
  • 2021-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多