我正在開發一個require.js應用程序來本地化它。我們有我們的nls文件在一個特定的文件夾結構。使用帶有唯一CDN的require.js
nls/
fr/
register.js
...
register.js
當我們推應用到生產我們的編譯系統增加了像這樣main.54b8801bf2c6e13b.js
一個版本號的所有文件。 這確實在我的機器上工作,因爲我們不添加唯一的編號。
Require.js不會在子文件夾中引入任何js文件,例如nls/fr/register.js不會在main.js包(預期)中加載。當我們的應用程序遇到這種情況時,它會從CND中取出nls/fr/register.js,但會查找nls/fr/register.js而不是nls/fr/register.54b8801bf2c6e13b.js(是的,文件存在於我們的CDN中)
有沒有人知道動態地有require.js尋找nls/fr/register.54b8801bf2c6e13b.js的方法。我認爲我們之前沒有遇到過,因爲所有的JS文件都被加載到main.js文件中(如果它更容易,我並不反對這樣做)
nls/register.js
define(['text!json/root/register.json', 'settings'], function(json, settings) {
return {
"fr": true
}
});
NLS/FR/register.js
define(['text!json/fr/register.json'], function(json) {
return JSON.parse(json);
});
視圖/ register.js
define([
'jquery',
'plugins/ui.1.11.0',
'underscore',
'backbone',
'views/base_view',
'settings',
'utils/gtm',
'utils/storage',
'text!templates/login_registration/registration_modal.html',
'i18n!nls/register'
], function($, jquery_ui_is_jquery_plugin, _,
Backbone,
BaseView,
Settings,
gtm,
Storage,
Template_Registration,
RegisterLocales) {
//code to get locales and set up view
}
我會與解決方案回答解決了這個你'不反對:預編譯您的require項目,將所有i18n註冊文件加載到main.js中 –
這與backbone.js有什麼關係? 。〜。 –
HTML頁面中的任何地方的內部版本號碼是否可以提取並正確映射? –