升级到 Ionic 5 后,TypeScript 编译中缺少 src/zone-flags.ts
Posted
技术标签:
【中文标题】升级到 Ionic 5 后,TypeScript 编译中缺少 src/zone-flags.ts【英文标题】:src/zone-flags.ts is missing from the TypeScript compilation after upgrading to Ionic 5 【发布时间】:2020-05-27 15:19:26 【问题描述】:我通过这两个命令升级了我的 Ionic 4 应用程序:
# Upgrading to Ionic 5
npm install @ionic/angular@latest @ionic/angular-toolkit@latest --save
# Upgrading to Angular 9
ng update @angular/core @angular/cli
当我执行ionic serve
时,我开始收到此错误:
> ng run app:serve --host=localhost --port=8100
[ng] chunk 0.js, 0.js.map () 22.1 kB [rendered]
[ng] chunk common common.js, common.js.map (common) 25.7 kB [rendered]
[ng]
[ng] ERROR in ./src/zone-flags.ts
[ng] Module build failed (from ./node_modules/@ngtools/webpack/src/index.js):
[ng] Error: /Users/shashank/Projects/my-app/mobile-app/src/zone-flags.ts is missing from the TypeScript compilation. Please make sure it is in your tsconfig via the 'files' or 'include' property.
[ng] at AngularCompilerPlugin.getCompiledFile (/Users/shashank/Projects/my-app/mobile-app/node_modules/@ngtools/webpack/src/angular_compiler_plugin.js:909:23)
[ng] at plugin.done.then (/Users/shashank/Projects/my-app/mobile-app/node_modules/@ngtools/webpack/src/loader.js:41:31)
[ng] at process._tickCallback (internal/process/next_tick.js:68:7)
【问题讨论】:
【参考方案1】:解决方法是更改mobile-app/src/polyfills.ts
中的以下行:
发件人:
import './zone-flags.ts';
收件人:
import './zone-flags';
【讨论】:
谢谢,@elnezah。虽然我自己也无法找到答案(大约一个小时左右),但查看错误后,我明白这与 polyfill 有关。所以我创建了一个新的 Angular & Ionic 应用程序,并将文件一一比较,发现了不同之处。以上是关于升级到 Ionic 5 后,TypeScript 编译中缺少 src/zone-flags.ts的主要内容,如果未能解决你的问题,请参考以下文章
升级到 Ionic 1.3 后,Ionic/Cordova 联系人插件在 iOS 上返回 Invalid Date
在 IONIC 项目中升级到电容器 3 后,Android Studio 构建失败
如何将 Ionic Cordova 3 迁移到 Ionic Cordova 5?
升级到 Typescript 2.9.1 后出现“TS2300: Duplicate identifier 'Account'”错误