Я сгенерировал проект с Angular CLI ng new my-dream-app
и заметил, что в package.json
{
"dependencies": {
"@angular/animations": "~8.2.11",
"@angular/common": "~8.2.11",
"@angular/compiler": "~8.2.11",
"@angular/core": "~8.2.11",
"@angular/forms": "~8.2.11",
"@angular/platform-browser": "~8.2.11",
"@angular/platform-browser-dynamic": "~8.2.11",
"@angular/router": "~8.2.11",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.14",
"@angular/cli": "~8.3.14",
"@angular/compiler-cli": "~8.2.11",
"@angular/language-service": "~8.2.11",
"@types/node": "~8.9.4",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}
я получаю следующую структуру зависимостей Теперь представьте, что я использую CLIсгенерированный проект с бэкэнд-каркасом (например, expressjs), который обрабатывает статические активы. Кроме того, представьте, что я хочу развернуть свое приложение в каком-либо облачном сервисе.
Я могу локально создать статические ресурсы, а затем переместить весь проект в облако, где я буду запускать npm i --production
, чтобы установить только зависимости изатем запустите npm start
Однако я не хочу устанавливать какие-либо связанные с Angular библиотеки в облаке. Я только хочу установить строго то, что необходимо для запуска моего приложения (express
, body-parser
, cookie-parser
и т. Д.).
Теперь актуальный вопрос : будет ли CLI по-прежнему работать должным образомесли я вручную переместу Angular's dependencies
в devDependencies
? Такие вещи, как нг обновления? Переместит ли это назад некоторые зависимости с devDependencies
на dependencies
? Будет ли создавать дубликаты записей?