首页 > 解决方案 > 在父 package.json 中具有公共依赖的多模块 npm 构建

问题描述

我有一个包含父文件夹和子文件夹的 reactjs 项目。父文件夹和每个子文件夹都包含 package.json。

在父级上执行 npm install 时,我也在构建子文件夹。但问题是 npm istall 需要更多时间,因为在子文件夹 package.json 中有重复的条目作为父 package.json。

ParentFolder
     --SubFolder1
          package.json
      --SubFolder2
          package.json
    package.json

父包.json

{
  "name": "parent",
  "dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.0"
  },
  "scripts": {
    "subfolder1-build": "cd  SubFolder1 && npm install && npm run-script build",
    "subfolder2-build": "cd SubFolder1  && npm install && npm run-script build"
  }
}

子文件夹1 package.json

{
  "name": "Subfolder1",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

在 subfolder1 package.json 我有重复的依赖作为父 package.jso

"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "3.0.0"

我是 npm 的新手。是否可以在父 package.json 中添加公共依赖项并在子文件夹 package.json 中仅添加必需的依赖项以及如何在子文件夹 package.json 中引用父 npm 模块?

标签: reactjsnpm

解决方案


推荐阅读