离子cordova构建android --prod

时间:2017-08-17 09:52:01

标签: android cordova ionic-framework ionic2 ionic-native

当我们使用命令

为生产创建构建时,我遇到了一个带有离子的新错误
ionic cordova build --prod

它始终在ngc启动时出现错误

Running app-scripts build: --prod

[15:00:23]  build prod started ... 
[15:00:23]  clean started ... 
[15:00:23]  clean finished in 36 ms 
[15:00:23]  copy started ... 
[15:00:23]  ngc started ... 
Error: Type DashboardPage in /Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.ts
is part of the declarations of 2 modules: AppModule in
/Users/sunny/Desktop/Apps/IONIC/MintOld/src/app/app.module.ts and
DashboardPageModule in /Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.module.ts! 
Please consider moving DashboardPage in
/Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.ts to a 
higher module that imports AppModule in
/Users/sunny/Desktop/Apps/IONIC/MintOld/src/app/app.module.ts and 
DashboardPageModule in /Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.module.ts. 
You can also create a new NgModule that exports and includes DashboardPage in
/Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.ts
then import that NgModule in AppModule in 
/Users/sunny/Desktop/Apps/IONIC/MintOld/src/app/app.module.ts 
and DashboardPageModule in /Users/sunny/Desktop/Apps/IONIC/MintOld/src/pages/dashboard/dashboard.module.ts.

3 个答案:

答案 0 :(得分:0)

由于错误显示您导入模块2次,可能您已经完成了延迟加载页面而忘记从app.module.ts删除模块导入

因此,如果您使用的是延迟加载模块,请转到app.module.ts并在DashboardPage和/或Declarations数组中查找导入的entryComponents,如果他们'只需从中删除DashboardPage。

如果您没有延迟加载,则需要删除dashboard.module.ts文件。

您无法将页面模块导入同一级别@NgModule,这就是您所犯的错误。

希望这有帮助。

答案 1 :(得分:0)

我也得到了同样的错误。我刚刚通过关闭并行运行的所有ionic任务并从我的项目文件夹中删除www文件夹来解决它。

然后我跑了

ionic cordova build android

然后

ionic cordova build android --prod --release

它有效。我不知道如何/为什么,但这样做我没有得到那个错误

答案 2 :(得分:0)

这是因为您在两个模块中声明了 DashboardPage ,如果您使用的是>>> (np.asarray(a)[b]).tolist() [[0.1, 0.1, 0.1], [0.1, 0.1, 0.1], [0.1, 0.1, 0.1], [0.2, 0.2, 0.2]] ,请删除 DashboardPage ,或者如果您使用int[] color = {R.color.colorPrimary,R.color.colorAccent,R.color.colorPrimaryDark}; View itemView = inflater.inflate(R.layout.listview_item, parent, false); RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.listview_item); relativeLayout.setBackgroundColor(color[2]); ,则删除dashboard-page-module文件。