我在使用r.js优化时遇到了问题
我有一个有多个requirejs配置文件的项目
+ app
- module1
* main.js
* foo.js
* bar.js
- main.js
+ build.js
每个main.js都有自包
main.js代码是:
requirejs.config({
'baseUrl': '../app/',
'paths': {
'module1' : 'module1/main'
}
});
define(['module1'],function(){});
module1 / main.js代码如:
requirejs.config({
'paths': {
'foo' : 'module1/foo',
'bar' : 'module1/bar'
}
});
define(['foo','bar'],function(){});
和build.js文件类似:
({
mainConfigFile: 'app/main.js',
baseUrl: 'app',
name: 'main',
out: 'dist/main.js',
})
当我执行$ r.js -o build.js
时,它会返回错误
Tracing dependencies for: main
Error: ENOENT: no such file or directory, open 'D:\Project\Test\app\foo.js'
In module tree:
main
module1
Error: Error: ENOENT: no such file or directory, open 'D:\Project\Test\app\foo.js'
In module tree:
main
module1
at Error (native)
答案 0 :(得分:1)
据我所知, SharedPreferences mPrefs = getSharedPreferences("IDvalue",0);
if(mPrefs.contains("DATE")) {
//do something
}else {
mPrefs.edit().putString("DATE", currentdate);
mPrefs.edit().commit();
Toast.makeText(this, "changed", Toast.LENGTH_SHORT).show();
}
在构建捆绑包时根本无法处理多个r.js
调用。我从未见过任何文档或问题报告,或者与此相矛盾的工作实例。 (RequireJS将允许您多次调用requirejs.config
,并合并在运行时传递的配置,但这与requirejs.config
处理多个{{1}的调用不同}。
您必须将拨打r.js
的所有电话合并到一个电话中,并将requirejs.config
指向requirejs.config
。
我在我的机器上重新创建了您的设置并且遇到了同样的错误。如果我将r.js
中的配置修改为以下内容,那么我可以构建捆绑包:
mainConfigFile
只是为了踢,我也试过以下哪个不起作用:
app/main.js
(另请注意,上述requirejs.config({
'baseUrl': '../app/',
'paths': {
'module1' : 'module1/main',
'foo' : 'module1/foo',
'bar' : 'module1/bar'
}
});
可简化为requirejs.config({
'baseUrl': '../app/',
'paths': {
'module1' : 'module1/main'
}
});
requirejs.config({
'paths': {
'foo' : 'module1/foo',
'bar' : 'module1/bar'
}
});
而非baseUrl
。)