Internationalization Multi-Language-require.js项目-使用r.js进行优化
在我们的项目中,我们使用require.js作为模块定义。web项目还提供多语言支持。对于这种情况,我们使用require.js包i18n。在使用r.js进行优化之前,一切都正常 在main.js文件中,我们定义了以下代码行Internationalization Multi-Language-require.js项目-使用r.js进行优化,internationalization,requirejs,local-storage,r.js,Internationalization,Requirejs,Local Storage,R.js,在我们的项目中,我们使用require.js作为模块定义。web项目还提供多语言支持。对于这种情况,我们使用require.js包i18n。在使用r.js进行优化之前,一切都正常 在main.js文件中,我们定义了以下代码行 config: { i18n: { locale: localStorage.getItem('locale') || 'de-de' } } 因此,用户可以切换语言。在代码的某个地方,我们有: 'click .lang-selec
config: {
i18n: {
locale: localStorage.getItem('locale') || 'de-de'
}
}
因此,用户可以切换语言。在代码的某个地方,我们有:
'click .lang-selection' : function(ev){
localStorage.setItem('locale',$(ev.currentTarget).attr('data-language'));
location.reload();
}
但是当涉及到r.js的优化部分时,就会出现问题
错误:错误:无法使用maincigfile/home/ch/html5 app/src/web/main.js中的配置,因为它在优化器中运行时无法正确计算。请尝试仅使用同样有效的JSON配置,或者不要使用mainConfigFile,而是将所需的配置值复制到生成文件或提供给优化器的命令行参数中。
在Function.createConfig(/home/ch/html5-app/bin/r.js:24283:23)
有人有解决这个问题的方法吗,或者有其他方法吗?例如,为每种语言构建自己的优化文件
此外,还有js.build.js文件
({
baseUrl: "../",
name: "src/web/main",
paths: {
// require.js
requirejs : 'vendor/backbone/require.215',
// app specific modules
root: 'src/web/app/js',
templates : 'src/web/app/templates',
// shared modules
shared: 'src/shared/app/js',
confighandler : 'src/shared/app/js/config/confighandler',
root_config : 'src/web/app/js/config/config',
layout: 'src/shared/app/js/views/layout',
general: 'src/shared/app/js/general',
helper: 'src/shared/app/js/helper',
session: 'src/shared/app/js/session',
vent: 'src/shared/app/js/vent',
view: 'src/shared/app/js/views',
model: 'src/shared/app/js/models',
module : 'src/shared/app/js/modules',
collection: 'src/shared/app/js/collections',
nls : 'empty:',
facebookSDK: 'empty:'
},
mainConfigFile: '../src/web/main.js',
preserveLicenseComments: false,
stubModules : ['text'],
inlineText: true,
// optimize: 'none',
include: ['requirejs']
})
更新到2.18版但未成功,仍然收到相同的错误。