我正在尝试为开发人员记录一个可重复的过程,以便从GitHub获取离子项目的干净副本,然后填充项目的插件和平台文件夹。我的package.json
列出了cordovaPlugins
和cordovaPlatforms
。以下是我正在尝试的步骤:
$ git clone <repo-url>
$ cd <project-dir>
$ npm install
$ bower install
$ ionic state restore
这几乎可以达到我的预期,但并不完全。我得到了填充了所有插件源文件的plugins
文件夹。我还获得了填充了iOS项目的platforms/ios
文件夹。问题是,插件中的after_platform_add
脚本都没有运行。
似乎运行ionic state restore
命令时的操作顺序可能是问题所在。它在获取插件之前添加了package.json中列出的平台。
我能够提出的唯一解决方法是让每个开发人员运行ionic platform remove ios
后跟ionic platform add ios
。让他们这样做的不利之处是导致package.json
文件被触摸。这导致开发人员不必要地将package.json
中的更改提交给git。
有没有办法让after_platform_add挂钩运行?
答案 0 :(得分:0)
这是我对这个问题的解决方案。在package.json中,添加:
"scripts": {
"postinstall": "bower install && gulp && ionic platform add android && ionic platform add ios && ionic state restore",
"clean": "ionic platform remove android && ionic platform remove ios && git checkout package.json"
},
这将完成您的需要,并通过在其上运行git checkout还原对package.json的任何更改。要运行它,请执行:
npm run-script clean && npm install