我正在试图找出从代码传递到最终可部署的apk / ipa的最佳进程。
到目前为止,我有一个使用Karma + Jasmine的测试套件,它将TypeScript转换为JS并运行一些单元测试。我通过gulp开始这个过程。
之后我所知道的是ionic build android --release
生成(一个未签名的)apk的内容。
但是我不确定生成的apk是如何被模仿/缩小的。
因此,请记住代码必须尽可能私密,ionic build
的缩小和模仿是否足够,或者我应该通过gulp手动执行所有这些预建任务?
在这种情况下,什么是我应该运行的正确任务,我是否必须手动将所有TypeScript文件转换为JS?我应该以什么顺序执行任务?
E.g。 transpile -> tests -> minify -> uglify -> build apk
或minify -> uglify -> transpile -> tests -> build apk
我对此感到有点迷茫,我唯一可以理解的是测试应该先运行,因为测试失败的情况应该中止该过程。
答案 0 :(得分:3)
尝试使用ionic-app-scripts> = 0.0.48来配置构建。
生产:
ionic build android --prod
要检查缩小的文件,请使用GNOME Archive Manager
(或类似的)打开apk文件并解压缩/assets/www/build/js/app.bundle.js
文件。
答案 1 :(得分:0)
在终端中根据您的平台(android / ios)执行以下命令:
ionic build android --prod --release
为了能够在设备上安装生产应用程序,并且为了能够在应用程序商店中发布它,您的.apk或.ipa 文件需要签名。你如何做到这一点取决于平台。
在package.json
文件中,您应该确保具有以下内容:
"scripts": {
// ...
"build:www": "rm -rf www && ionic-app-scripts build --prod",
// ...
},
现在在您的终端运行中:
npm run build:www
您的应用内置在www
文件夹中,可让您使用NginX,Apache或自定义Node + Express网络服务器等任何网络服务器投放到制作中。
从Ionic v3.3开始有效
Learn more about ionic-scripts
,他们做了什么以及您可能会发现哪些其他脚本有用。