javascript - 如何使用 RequireJS r.js 构建更改 i18n 的路径

标签 javascript internationalization requirejs r.js

我正在为我的 javascript 项目使用 RequireJS,并使用 r.js 构建一个用于生产的 javascript 文件。然后将这个单个文件 (main.js) 上传到 CDN。这一切都很好,但现在我正在尝试添加 i18n 支持。

问题是 i18n 文件的位置是相对于主 javascript 文件的。所以在一个模块中,我会:

define(['i18n!nls/text'], function(Translation) { });

这在我开发时一切正常,但对于生产而言,问题是翻译文件与 main.js 文件无关,因为它位于 CDN 中。我不想将翻译文件存储在 CDN 中,那么如何在构建过程中更改对该文件的引用?

最佳答案

我找到了解决问题的方法。 在我添加的 RequireJS 配置中:

requirejs.config({
    paths: {
        nls: "/js/nls"
    }
});

因为路径以斜杠开头,RequireJS 知道它不是相对的。现在我遇到的问题是构建会失败,因为 RequireJS 会在/js/nls 中寻找默认语言文件。因此,我从我的网络服务器的根目录添加了一个符号链接(symbolic link)到机器上的 nls 目录。

关于javascript - 如何使用 RequireJS r.js 构建更改 i18n 的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21700559/

相关文章:

javascript - 在 HTML/Javascript/CSS 中绘制虚拟(假)插入符号

javascript - 需要配置 : get `paths` object from JSON in Gruntfile. js 和 main.js

javascript - BlanketJS + Jasmine 2.0 不工作

javascript - 如何将项目添加到 kendo ui 网格的数据源

javascript - 对于模型的路径 ""处的值 "_id"转换为 ObjectId 失败

javascript - 为什么在 Passport.deserializeUser 函数中再次检查用户

java - 我想在运行时更改 SWT 应用程序的语言。怎么做?

javascript - <meta> 标签是否必须在支持 i18n 的站点上进行翻译?

javascript - 查找React/Node项目中所有硬编码的字符串

requirejs - 如何在 IPython notebook 中加载 Raphael,避免因 require.js 而出现的一些问题?