因此,对于来自 angular 7 的人来说,对于这个项目来说,正确的升级命令似乎是:
npm i @ionic/angular@latest
npm i zone.js@~0.9.1
npm i @angular/core@"~8.x.x"
npm i @ionic/angular-toolkit@latest
npm i codelyzer@latest
npm remove @angular/http
ng update @angular/core @angular/cli --allow-dirty
它终于更新了一切。但是我确实看到了一个警告说Package not installed: "--allow-dirty". Skipping.
然而,在那之后我敢于尝试ionic build
,但由于这个错误而失败,这让我又卡了 15 分钟:
zone-flags.ts is missing from the TypeScript compilation.
似乎polyfills.ts
使用了.ts
包含中的扩展名,这破坏了编译。
我改变了这一行polyfills.ts
:
import './zone-flags.ts';
对此:
import './zone-flags';
并且它被编译了。
但是做到了ionic serve
吗?
不,没有。
浏览器在控制台中显示了这一点:
Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
所以经过一番搜索,我发现如果你打开main.ts
然后添加
import '@angular/compiler';
接近顶峰,那么世界将再次变得正确和美好……
...除非您的项目随后需要解决标记破坏性更改,但您只能靠自己。