Ced*_*ach 2 node.js requirejs cordova requirejs-optimizer
在我的Cordova项目中,我有一个执行RequireJS优化(r.js)的钩子after_prepare.该优化本质上是异步的,因此我的钩子代码在所有优化完全完成之前返回.
例如,这会在运行时导致问题cordova run browser:在第一页加载时,优化尚未完成且站点看起来已损坏.
有没有办法让Cordovoa构建过程阻塞,直到某个钩子触发回调?或者优化器可以以阻塞/同步方式运行吗?
我能想到的另一个选择是使用不同的优化过程和主要忙碌等待它完成,但这对我来说似乎是一种过度杀伤和不好的做法.
您可以使用内置的promise模块阻止Cordova继续,直到钩子解析为止.这些方面的东西:
#!/usr/bin/env node
var deferral;
function doSomethingAsync(){
    somethingAync
        .success(function(){
            deferral.resolve();
        })
        .fail(function(err){
            deferral.reject(err);
        });
}
module.exports = function(ctx) {
    deferral = ctx.requireCordovaModule('q').defer();
    doSomethingAsync();
    return deferral.promise;
};
| 归档时间: | 
 | 
| 查看次数: | 770 次 | 
| 最近记录: |