升级到 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 构建失败

ionic2升级到ionic3并打包APK

如何将 Ionic Cordova 3 迁移到 Ionic Cordova 5?

为啥 Ionic 5 内容填充不起作用?

升级到 Typescript 2.9.1 后出现“TS2300: Duplicate identifier 'Account'”错误