我不确定我只面对ionic cordova run android --prod
的问题,我的ionic cordova run android
工作正常。
错误:
Error: Cannot determine the module for class OverlayPortal in /Users/gopi/Documents/bos/hybrid-app/node_modules/ionic-angular/es2015/components/app/overlay-portal.d.ts! Add OverlayPortal to the NgModule to fix it.
Cannot determine the module for class IonicApp in /Users/gopi/Documents/bos/hybrid-app/node_modules/ionic-angular/es2015/components/app/app-root.d.ts! Add IonicApp to the NgModule to fix it.
Cannot determine the module for class ClickBlock in /Users/gopi/Documents/bos/hybrid-app/node_modules/ionic-angular/es2015/components/app/click-block.d.ts! Add ClickBlock to the NgModule to fix it.
Cannot determine the module for class Slides in /Users/gopi/Documents/bos/hybrid-app/node_modules/ionic-angular/es2015/components/slides/slides.d.ts! Add Slides to the NgModule to fix it.
有人能给我清楚的解释:
这是我的ionic info
cli包:(/ usr / local / lib / node_modules)
@ionic/cli-utils : 1.9.2
ionic (Ionic CLI) : 3.9.2
全球套餐:
Cordova CLI : 7.0.1
本地包裹:
@ionic/app-scripts : 1.3.8
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.4.2
系统:
Android SDK Tools : 25.2.5
Node : v6.11.1
npm : 3.10.10
OS : macOS Sierra
Xcode : Xcode 8.3.2 Build version 8E2002
我终于找到了解决这个问题的方法。我从ionic-angular
导入了一些直接导入嵌套组件的导入,而不是从顶级包导出导入。我猜测产品AOT编译器不喜欢从顶层导入一些导入,而是直接导入嵌套项目。我的一个例子如下。我的猜测是你可以选择其中一种方法,但在混合它们时,AOT编译器会不高兴。
好
import { LoadingController } from 'ionic-angular';
坏
import { LoadingController } from 'ionic-angular/components/loading/loading-controller';
我有同样的问题然后我改变了我的离子角度导入地址之一。以前是
import { AlertController } from "ionic-angular\umd\components\alert"
我把它改成了
import { AlertController } from "ionic-angular"
现在它为我工作。
这将有助于您解决此问题。
https://stackoverflow.com/a/55832874/849870
我解决了我的问题。在我的项目中,我使用的是过时的模块,ion-datepicker
,如果你也使用相同的问题,这里有一些步骤,你可以关注并找到你感染或过时的模块。
1.第一步:
在你的项目中查找所有文件from 'ionic-angular/
字,
2.第二步:
如果你发现这个词像import { xyz } from 'ionic-angular/xyz/abc'
更新或删除该模块。
在我的情况下,这是因为我有一个模块的备份,我有
MyModule
|- MyModule.ts -> class MyModule {}
MyModuleOld
|- MyModule.ts -> class MyModule {}
安装Diagnostic后出现此错误
npm install --save @ionic-native/diagnostic@4
我恢复我的package.json然后删除并添加更新的android平台
ionic cordova platform rm android && ionic cordova platform add android@latest
它已经解决了。
--prod使用aot编译。但是,如果你只想为发布版编译只使用--release flag,但是你没有使用aot的功能