为什么我的Cordova钩子在它工作之前必须运行两次?

时间:2017-10-26 18:03:27

标签: javascript android node.js cordova browserify

我正在使用的Cordova项目使用broswerify,因此我可以在移动应用中使用require()。一切正常,所以我试图将我的js文件的浏览器移动到Cordova钩子,所以我不必记得在安装应用程序之前运行browserify。

现在当我移动命令将我的js文件浏览器化为Cordova钩子(before_run)时,它必须先运行两次才能看到我所做的更改。

  1. 对文件进行更改。
  2. 运行cordova run...。 Hook成功运行并安装应用程序。
  3. 在我的代码编辑器中,我看到bundle.js文件有更新的代码,所以我知道钩子成功运行了browserify命令。
  4. 使用Chrome调试工具我可以看到Android设备仍然有旧的bundle.js代码。
  5. 我再次运行cordova run...,现在我在Android设备的bundle.js中看到了新代码。
  6. 我认为这可能是一个时间问题,如果是这样的话,我怎么能让Cordova挂钩等到bundle.js文件准备就绪才继续?如果有其他东西可以有人指出我正确的方向让这个正常工作?我已经尝试了大约5次,每次它第一次不起作用,但第二次起作用。

1 个答案:

答案 0 :(得分:0)

使钩子脚本运行同步,例如使用npm脚本,然后使用运行npm的bat或bash脚本

npm run build