| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
buduhuaqi
9年前发布

使用 hooks 工程化 ionic 项目

来自: https://segmentfault.com/a/1190000004420853

如果你是希望看 api 那建议你去这里,本文只是一个思路不会提供代码。

背景

ionic 打包其实很简单, ionic build 一下就行了。但是当你需要切换 api 接口,支付宝、推送等插件的 appid(一般来说会分为开发环境,qa 环境,生产环境)时,会很烦并且容易出错。不知道谁说过,好的工程师就应该懒,代码能完成的事情,坚决不动手。

原理

ionic build 其实就是完成 ionic prepare(其实就是生成 www 目录)和 ionic compile 两个步骤。hooks 也会在他们之前或者之后执行,我这里以 before_prepare、after_prepare 两个勾子为例:

  1. before_prepare: ionic prepare 之前执行,也就是生成 www 目录之前。这个时候适合做代码压缩(gulp)、删除不必要文件(比如sass)。gulp 的部分就再也不用去手动执行 gulp build —release 了。

  2. after_prepare: ionic prepare 之后执行,这个地方就可以做一些 appid 的替换工作,我们可以通过 process.env.CORDOVA_CMDLINE 获取到命令行输入。例如我输入 ionic build —dev 或者 ionic build —release ,我就可以拿到当前打包需要的参数是 dev 本地开发配置,release 线上生产环境配置。

勾子

不知道大家在前端规范化的时候有没有使用过 git hooks。帮助代码规范的神器,简而言之就是 commit 的时候,会触发一次检查代码是否规范的程序。

本文的 hook 与该方法类似,使用 nodejs 来获取参数做文件操作生成工程。nodejs 操作文件相关的代码我就不贴了(其实是因为 node 根本不会写)。提供一些hooks 实例,这些代码都很棒,大家可以去学习一下:

https://gist.github.com/dpogue/4100866

http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/

https://github.com/lanceli/cnodejs-ionic/tree/master/hooks

希望看完本文,大家能对 ionic 打包的流程做一个更自动化的改造。还是那句话:好的程序猿,应该懒起来。

</div>

 本文由用户 buduhuaqi 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1454844391776.html
移动开发 Ionic Framework