function test(){
//optimize operation
requirejs.optimize(profile, function(){
//success callback
//require local module hehe
requirejs.config({
baseUrl: 'scripts'
});
var nice = requirejs('hehe');
console.log(nice);
}
, function(err) {
//failure operation
console.log(err);
})};
我在nodejs环境中运行requirejs。(r.js)
似乎我无法获得模块' hehe'在回调中。控制台的正确输出应该是' 2',而当前输出是' undefine'
但是如果我把requirejs(...)var nice; console.log(nice)放回回调中。输出是正确的。 问题似乎与requireJS中的上下文有关。
function test(){
requirejs.optimize(profile, function(){
//success callback
},
function(err){
console.log(err);
}
);
requirejs.config({
baseUrl : 'scripts'
});
var nice = requirejs('hehe');
console.log(nice);}
令我困惑的是,即使我把它们排除在回调之外,当我在gulp watch中使用test()时,问题仍然存在。
gulp.task("build", function(){
test();
}):
gulp.task("watchsrc",function(){
gulp.watch('*.js',['build']);
});
当我运行gulp watch并修改src js文件时。在它第一次工作时,控制台输出是2.但是当我第二次修改文件时,结果再次变得不确定。