首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的Ember应用程序中包括CLDR.js库?

如何在我的Ember应用程序中包括CLDR.js库?
EN

Stack Overflow用户
提问于 2012-07-11 14:35:06
回答 1查看 1.7K关注 0票数 3

我正在构建一个开始使用余烬-骨架的Ember应用程序(这意味着我使用Rake管道作为我的构建工具链)。我正在使用成员-i18n,这经常会引发关于不使用CLDR.pluralForm函数的警告。

我已经将成员-i18n使用的CLDR复数函数添加到app/vendor/目录中,并将该文件添加到我的Assetfile中。我已经验证了代码是包含在我的app.js之前的成员-i18n代码。我还在我的require中添加了适当的main.js行:

代码语言:javascript
复制
require('plurals');
require('ember-i18n');

尽管如此,恩伯-i18n仍在发出警告。这就是它发生的代码:

代码语言:javascript
复制
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?

EN

回答 1

Stack Overflow用户

发布于 2012-08-16 06:13:50

因为没有人知道,如果我自己调试这个问题的话,我会给出一些建议。

如果您在站点中看到的消息与小提琴中的消息相同,则是由于文件加载顺序混乱造成的。几乎“复数”必须在"i18n“插件之前加载。如果您翻转链接文件的顺序,它将工作(我分叉错误的例子)。

我会尝试通过将一些debugger;语句放入每个文件来验证我是错误的,以查看哪些是首先在浏览器上加载的。

由于您的require('plurals'),我将假设您使用的是需求(github正在进行维护,所以我现在无法实际检查成员骨架.因此,这可能会在将来得到编辑)。如果此断言为真,则需要声明“复数”是“i18n”的依赖项。

“如果您不表示依赖项,您很可能会得到加载错误,因为RequireJS异步加载脚本,并且按顺序进行快速加载。”- RequireJS API

这意味着您可能会将这两个调用封装到一个中,添加一个define或创建一个"shim";这些(以及更多的)示例可以在RequireJS站点上找到。

对不起,如果这对您没有帮助,但没有看到它实际上是坏的,我很难调试这个问题。

编辑:看着余烬-骨架,我没有看到requireJS.我从未使用过rake (我们最后用nodeJS编写了管道),所以我不太确定您是真的尝试在rake中将文件与require "blaw"连接起来,还是试图同时使用这两种方式.所以现在我想这个答案可能不是很有帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11435019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档