一、错误信息如下:
Error: Metadata version mismatch for module {项目路径}/node_modules/@ionic-native/core/decorators.d.ts, found version 4, expected 3
at StaticSymbolResolver.getModuleMetadata ({项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:24474:34)
at StaticSymbolResolver._createSymbolsOf ({项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:24260:46)
at StaticSymbolResolver.getSymbolsOf ({项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:24241:14)
at {项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:23023:30
at Array.forEach (<anonymous>)
at extractProgramSymbols ({项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:23022:79)
at AotCompiler.compileAll ({项目路径}\node_modules\@angular\compiler\bundles\compiler.umd.js:22720:47)
at CodeGenerator.codegen ({项目路径}\node_modules\@angular\compiler-cli\src\codegen.js:30:14)
at Function.NgTools_InternalApi_NG_2.codeGen ({项目路径}\node_modules\@angular\compiler-cli\src\ngtools_api.js:61:30)
at {项目路径}\node_modules\@ionic\app-scripts\dist\aot\aot-compiler.js:182:73
导致原因:
使用的版本不一致,导致命令带有--prod导致错误
解决方法:
将package.json去掉@ionic-native/..中的“^”,并降低版本。比如:
【"@ionic-native/app-availability": "^4.12.2",】改成【"@ionic-native/app-availability": "4.10.0",】,最终效果如下图
二、错误信息如下:
导致原因:
因为内容太多,太大
解决方法:
1.在package.json添加如下内容:
"ionic:build": "node --max-old-space-size=8192 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",
2.每次打包在控制台输入命令【npm run ionic:build --prod】压缩文件
3.每次打包在控制台输入命令【cordova build android --release】
参考:https://github.com/ionic-team/ionic-app-scripts/issues/1036