Verifique os detalhes da atualização passo a passo do Angular 5 para o Angular 6. Eles fornecem detalhes sobre os problemas que você encontra durante a atualização e como resolvê-los.
- Atualize a versão do seu nó para 8 ou superior e instale o Angular cli mais recente globalmente por npm i -g @ angular / cli @ latest.
- O Angular 6 usa angular.json como arquivo de configuração em vez de .anguar-cli.json. Também o tslint foi alterado. Verifique https://github.com/angular/angular-cli/wiki/angular-workspace para obter os detalhes de configuração mais recentes. Você deve mover qualquer configuração existente para um novo arquivo de configuração.
- Para fazer isso, crie outro projeto fictício com o último cli usando o novo 'seu-projeto' e os mesmos padrões, como prefixo, estilo, etc., que você usou anteriormente para seu projeto. Crie um novo projeto com cli
https://github.com/angular/angular-cli/wiki/new
- Usar
https://update.angular.io/ para verificar o que foi alterado em relação à sua versão atual do Angular → Angular 6. Ele fornece informações sobre como alterá-los / corrigi-los.
- Siga as etapas acima e copie / atualize o arquivo angular.json criado na etapa 2. Faça o npm i em seu projeto para obter todas as dependências e faça a atualização do npm
- Agora vem a grande parte. Atualização do RxJS e resolução de conflitos. RxJS padronizou as importações de operadores e criadores Observable com este lançamento. Faça npm i -g rxjs-tslint e adicione a configuração lint abaixo em tslint.json
{
"rulesDirectory": [
"node_modules/rxjs-tslint"
],
"rules": {
"rxjs-collapse-imports": true,
"rxjs-pipeable-operators-only": true,
"rxjs-no-static-observable-methods": true,
"rxjs-proper-imports": true
}
}
- Agora execute o lint --fix. Isso corrige alguns itens, mas a maioria dos problemas restantes serão destacados e você terá que corrigi-los manualmente.
Alteração do nome dos operadores:
do -> tap,
catch -> catchError,
switch -> switchAll,
finally -> finalize
Todos os operadores mudaram para rxjs / Operadores
import { map, filter, reduce } from 'rxjs/operators';
Métodos de criação observáveis são movidos para rxjs
import { Observable, Subject, of, from } from 'rxjs';
Estás pronto. Bem-vindo ao Angular 6 :)
Verifique minha postagem do blog aqui sobre como atualizar