【问题标题】:Using require.js with a unique CDN使用具有唯一 CDN 的 require.js
【发布时间】:2016-03-15 15:13:34
【问题描述】:

我正在开发一个 require.js 应用程序来本地化它。我们的 nls 文件位于特定的文件夹结构中。

nls/
   fr/
     register.js
   ...
   register.js

当我们将应用程序推送到生产环境时,我们的构建系统会为所有文件添加一个内部版本号,例如 main.54b8801bf2c6e13b.js​​。 这在我的机器上本地工作,因为我们不添加唯一编号。

Require.js 不会在子文件夹中引入任何 js 文件,例如 nls/fr/register.js 不会被加载到 main.js 包中(预期)。当我们的应用在 staging 中遇到这个问题时,它会从 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);
});

views/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 页面中的内部版本号是否可以提取并正确映射?

标签: javascript backbone.js internationalization requirejs


【解决方案1】:

我通过 grunt 任务 (grunt-contrib-requirejs) 将 NLS 文件添加到我的 require.js 编译文件 (main.js) 中解决了这个问题

modules: [
          {
            name: 'main',
            include: [
              'nls/de/activity_types',
              'nls/de/admin',
              'nls/de/app_callout',
              'nls/de/browser_support'
               ]
            }]

【讨论】:

    猜你喜欢
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2011-08-25
    • 2014-12-31
    • 1970-01-01
    相关资源
    最近更新 更多