Как обновить/обновить с Angular 4 до Angular 5+
Мне нужно обновить свой проект с Angular 4 до Angular 5+,
Мне нужно изменить все следующие зависимости на Angular 5+.
Я также обновил Angular CLI до 1.5.0.
Я пытался создать новый проект, но кажется, что он создает только проект Angular 4.
нг новый NG5_Project
"dependencies": {
"@angular/animations": "^4.2.4",
"@angular/common": "^4.2.4",
"@angular/compiler": "^4.2.4",
"@angular/core": "^4.2.4",
"@angular/forms": "^4.2.4",
"@angular/http": "^4.2.4",
"@angular/platform-browser": "^4.2.4",
"@angular/platform-browser-dynamic": "^4.2.4",
"@angular/router": "^4.2.4",
"core-js": "^2.4.1",
"rxjs": "^5.4.2",
"zone.js": "^0.8.14"
}
Что я делаю неправильно.
CLI Config:
![CLI Config]()
Ответы
Ответ 1
Проблема исправлена с обновлением версии узла.
Мне пришлось обновить версию Node,
sudo apt-get install nodejs
npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/[email protected]
ng new ProjectName
node --version
==> 8.9.0
ng --version
==> 1.5.0
"dependencies": {
"@angular/animations": "^5.0.0",
"@angular/common": "^5.0.0",
"@angular/compiler": "^5.0.0",
"@angular/core": "^5.0.0",
"@angular/forms": "^5.0.0",
"@angular/http": "^5.0.0",
"@angular/platform-browser": "^5.0.0",
"@angular/platform-browser-dynamic": "^5.0.0",
"@angular/router": "^5.0.0",
"rxjs": "^5.5.2",
"zone.js": "^0.8.14"
}
Ответ 2
Это решение для Visual Studio 2017 с использованием углового шаблона
Используйте командную строку Node.js или откройте PowerShell. Перейдите в каталог проекта и используйте команду dir, чтобы проверить, существует ли файл package.json
.
Закройте экземпляр Visual Studio и выполните команду npm install -g npm-check-updates
после чего должен появиться следующий вывод
![output]()
Затем используйте команду ncu -u. Следующий пакет должен обновиться до последней версии.
![pakage update]()
Если пакеты по-прежнему указывают на Angular 4, удалите package-lock.json
и package-lock.json
выполните приведенные выше шаги -g iven.
Webpack используется Visual Studio в качестве связующего модуля. Webpack использует AotPlugin для компиляции приложений Angular 4, теперь Webpack больше не использует Aotplugin для Angular 5. Теперь он использует AngularCompilerPlugin. Для этого откройте webpack.config.js
и замените все вхождения AotPlugin на AngularCompilerPlugin.
Откройте файл ClientApp/boot.server.ts и замените следующую строку кода (строка № 22).
const zone = moduleRef.injector.get(NgZone);
с,
const zone: NgZone = moduleRef.injector.get(NgZone);
Ссылка на источник
Ответ 3
Проверьте Angular блог из
https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced
В статье упоминается руководство по обновлению.
Вы можете найти его здесь: https://angular-update-guide.firebaseapp.com/
Также вы можете обновить свой angular-CLI
до 1.5.0
что создаст проект angular v5. Вы можете сравнить различия с вашими.
Ответ 4
Если вы хотите просто обновить свой проект angular4 до angular 5, сделайте следующее.
- Перейдите в каталог вашего проекта.
- Откройте командную строку и выполните следующие команды
- npm install -g npm-check -u pdates
- нку -u
Это сработало для меня.
http://www.talkingdotnet.com/upgrade-angular-4-app-angular-5-visual-studio-2017/
Ответ 5
Здесь правильный ответ, и это супер просто.
Следуйте официальному руководству по обновлению Angular.
Вы заполните небольшую форму, выбирая, на какую версию Angular вы работаете и какую версию хотите обновить. Затем он показывает вам список необходимых шагов для выполнения обновления. Вы должны следовать этому руководству для всех обновлений. (Пожалуйста, подтвердите, прежде чем уйти) :)
https://update.angular.io/
![enter image description here]()
Ответ 6
Чтобы обновить Angular 4 до Angular 5
Откройте webpack.config.js
Добавьте код ниже внутри ContextReplacementPlugin
/angular(\\|\/)core(\\|\/)(@angular|esm5)/
Ответ 7
Проработав немного больше, это помогло мне с ОБА глобальным обновлением PROJECT LOCAL.
Точные ориентиры приведены (конечно) в https://update.angular.io/.
Глобальный:
$ npm uninstall -g angular-cli (to be sure)
$ npm uninstall -g @angular/cli
$ npm cache clean
$ npm install -g @[email protected]
$ ng -v ... this will show you the current CLI version.
Проект локальный:
$ cd to/your/project/folder
$ remove the folder node_modules
$ npm install --save-dev @angular/[email protected]
$ npm install
Тогда:
npm install @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 @angular/[email protected]^5.0.0 [email protected] [email protected]^5.5.2
Это может быть необходимо (и не повредит): исправление аудита $ npm
$ npm install [email protected] --save-точный
Источник:
https://update.angular.io/ покажет вам лучший маршрут.
Основное различие заключается в том, что вы все еще используете модуль http. Вы можете (или должны) перейти с http на модуль httpclient. В большинстве случаев это довольно просто.