如何在Ember应用程序中包含CLDR.js库
How do I include the CLDR.js library in my Ember application?
我正在构建一个Ember应用程序,该应用程序开始使用Ember骨架(这意味着我正在使用Rake Pipeline作为我的构建工具链)。我使用的是ember-i18n,它不断发出关于没有CLDR.pluralForm函数的警告。
我已经将ember-i18n使用的CLDR多个函数添加到了app/vendor/
目录中,并将该文件添加到了我的Assetfile
中。我已经验证了该代码在member-i18n代码之前包含在我的app.js
中。我还在main.js:中添加了适当的require
行
require('plurals');
require('ember-i18n');
尽管如此,member-i18n仍在发出警告。这是发生这种情况的代码:
if (typeof CLDR !== "undefined" && CLDR !== null) {
pluralForm = CLDR.pluralForm;
}
if (pluralForm == null) {
Ember.Logger.warn("CLDR.pluralForm not found. Em.I18n will not support count-based inflection.");
}
如何确保在我的应用程序中定义CLDR?
因为其他人都没有,所以如果我自己调试这个问题,我会提出一些建议。
如果你在网站上看到的消息与fiddler中的消息相同,那是因为文件加载不正常。在"i18n"插件之前,几乎"复数"必须加载。如果你翻转链接文件的顺序,它会起作用(我分叉了错误的例子)。
我会尝试通过向每个文件中抛出一些debugger;
语句来验证我错了,看看哪一个真正首先加载到浏览器上。
由于您的require('plurals')
,我将假设您正在使用requirejs(github已停机进行维护,因此我目前无法实际检查ember骨架……因此这可能会在未来进行编辑)。如果此断言为true,则需要声明"plurals"是"i18n"的依赖项。
"如果你不表达依赖关系,你很可能会得到加载错误,因为RequireJS异步加载脚本,速度失控。"-RequireJS API
这意味着您最终可能会将两个调用打包为一个,添加一个define
或制作一个"填充程序";这些(以及更多)示例可以在RequireJS网站上找到。
很抱歉,如果这对你没有帮助,但没有看到它真的坏了;我很难调试这个问题。
编辑:看着余烬骨架,我看不到requireJS。我从未使用过rake(我们最终在nodeJS中编写了管道),所以我不太确定你是真的试图在rake中用require "blaw"
连接文件,还是真的试图同时使用两者。。。。所以现在我认为这个答案可能没有太大帮助。
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 货币代码为欧元-金额的格式不应包含小数
- 如何包含特定于每个视图angularjs的javascript文件
- 我如何修复包含在captcha的addthis中的错误
- 正在注入包含JS的HTML
- Json数据包含日期和时间格式
- Angular js-返回一个包含类似
- jQuery/JS包含运算符或类似运算符
- 如果href包含X,请更改href
- JavaScript数组包含一个值
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 在Meteor项目中安装并包含npm模块后出错
- 传递包含'%的参数'在URL中
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- 如何首先设置样式<td>表中包含在窗体中的元素
- 每天用javascript包含不同的php文件
- 数据绑定:'系统Char'不包含名为'xxxxx'
- 使用Javascript生成包含JSP的HTML
- 如何遍历包含对象的数组-javascript
- 如何在Ember应用程序中包含CLDR.js库