Bjo*_*orn 5 javascript internationalization requirejs r.js
我正在为我的javascript项目使用RequireJS,并且r.js为生产构建一个单独的javascript文件.然后将此单个文件(main.js)上载到CDN.这一切都很好,但现在我正在尝试添加i18n支持.
问题是i18n文件的位置是相对于主javascript文件的.所以在一个模块中,我会:
define(['i18n!nls/text'], function(Translation) { });
Run Code Online (Sandbox Code Playgroud)
这一切在我开发时都非常好,但是对于生产而言,问题是转换文件与main.js文件无关,因为它放在CDN中.我不想将翻译文件存储在CDN中,那么如何在构建过程中更改对该文件的引用?
我找到了解决问题的方法.在RequireJS配置中,我添加了:
requirejs.config({
paths: {
nls: "/js/nls"
}
});
Run Code Online (Sandbox Code Playgroud)
因为路径以斜杠开头,所以RequireJS知道它不是相对的.现在我遇到的问题是构建会失败,因为RequireJS会在/ js/nls中查找默认语言文件.因此,我在网络服务器的根目录中添加了一个符号链接到计算机上的nls目录.
| 归档时间: |
|
| 查看次数: |
1091 次 |
| 最近记录: |