我正在使用这个很棒的插件来管理由Yeoman创建的Backbone应用程序中的Handlebars模板:SlexAxton/require-handlebars-plugin
出于某种原因,当运行由Grunt使用RequireJS创建的生产就绪编译时,不会拾取i18n翻译。
我的应用配置如下:
require.config({
shim: {
backbone: {
deps: ['jquery', 'underscore'],
exports: 'Backbone'
},
underscore: {
exports: '_'
}
},
paths: {
jquery: '../bower_components/jquery/dist/jquery',
backbone: '../bower_components/backbone/backbone',
underscore: '../bower_components/lodash/dist/lodash.underscore',
hbs: '../bower_components/require-handlebars-plugin/hbs'
},
hbs: {
i18n: true
}
});
// Second call to assign dynamic variables and not have RequireJS break
require.config({
locale: localStorage.getItem('locale') || 'en_us'
});
我在Gruntfile.js中设置的requireJS选项如下:
requirejs: {
dist: {
options: {
baseUrl: '<%= yeoman.app %>/scripts',
useStrict: true,
wrap: true,
findNestedDependencies: true
}
}
},
由于某种原因,生成的构建JS文件已将默认翻译编译为模板。我错过了什么吗?
我应该切换到RequireJS i18n plugin吗?
感谢。
编辑: 使用“require-handlebars-plugin”处理生产构建的常见做法是什么?该插件是否与Grunt的“grunt-requirejs”编译器兼容?