在git clone之后运行`ionic state restore`时,插件钩子“after_platform_add”没有启动

时间:2015-09-21 00:47:01

标签: cordova ionic-framework ionic cordova-plugins

我正在尝试为开发人员记录一个可重复的过程,以便从GitHub获取离子项目的干净副本,然后填充项目的插件和平台文件夹。我的package.json列出了cordovaPluginscordovaPlatforms。以下是我正在尝试的步骤:

$ 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挂钩运行?

1 个答案:

答案 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