мультимодульная сборка npm с общей зависимостью в родительском package.json - PullRequest
0 голосов
/ 08 мая 2019

У меня есть проект с activjs, в котором есть родительская папка и подпапка.Родительская папка и каждая подпапка содержит package.json.

При выполнении npm install на parent я также создаю подпапки.Но проблема в том, что npm istall занимает больше времени, потому что в подпапке package.json есть повторяющаяся запись в качестве родительского package.json.

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

Parent package.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"
  }
}

Subfolder1 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"
    ]
  }
}

В подпапке1 package.json у меня есть дубликаты зависимостей как родительский package.jso

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

Я новичок в npm.Можно ли добавить общую зависимость в родительский package.json и добавить только необходимую зависимость в подпапку package.json и как ссылаться на родительский модуль npm в подпапке package.json?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...