最近刚刚完成了一个ionic 项目,之前一直在通过ionic cordova build ios/android 等命令编译,调试,到现在终于要发布正式的包了,要把打出来的包压缩一下,用到--prod 命令
执行 ionic cordova build android --prod 成功就在眼前了,结果竟然报错了。。。
果然成功没有那么简单...
具体报错如下:
Error: The Angular AoT build failed. See the issues above
at /Users/xxx/Desktop/ionic/work/myApp/node_modules/@ionic/app-scripts/dist/aot/aot-compiler.js:237:55
at step (/Users/xxx/Desktop/ionic/work/myApp/node_modules/@ionic/app-scripts/dist/aot/aot-compiler.js:32:23)
at Object.next (/Users/xxx/Desktop/ionic/work/myApp/node_modules/@ionic/app-scripts/dist/aot/aot-compiler.js:13:53)
at fulfilled (/Users/xxx/Desktop/ionic/work/myApp/node_modules/@ionic/app-scripts/dist/aot/aot-compiler.js:4:58)
at <anonymous>
编译环境:angular:5.2.11 @ionic/app-scripts :3.2.4
查资料,有人说--prod 命令最高支持到@ionic/app-scripts 3.2.3 ,高版本的不行,所以把 @ionic/app-scripts 版本回退到3.2.3版本的,结果还是不行
继续找方法,看到有人说,要把moudle.ts 文件和@IonicPage 删掉,试试吧。。竟然成功了。。。
项目本身创建自带的页面只有三个文件 :例如: about.html ,about.ts, about.scss 但是自己通过命令 ionic g page test 创建出来的页面有 四个文件:test.html ,test.ts, test.scss, test.module.ts
因为 这个页面在 app.module.ts 中引入过了,所以要把 test.module.ts 文件删掉,还有 test.ts 文件中最上面的 @IonicPage() 注释掉或者删掉 (注意:项目中的所有页面都查看一遍)
再执行上面的 --prod 命令就可以成功压缩打包了,撒花~~~