2

我花了一天中最好的时间来尝试让日期验证与 globalize.js 一起工作。事实证明,对于应该很简单的事情来说,这是一场噩梦。经过大量搜索后,我发现我需要包含这些文件并按特定顺序

<script src="~/Scripts/globalize.js"></script>
    <script src="~/Scripts/globalize/message.js"></script>
    <script src="~/Scripts/globalize/number.js"></script>
    <script src="~/Scripts/globalize/plural.js"></script>
    <script src="~/Scripts/globalize/date.js"></script>
    <script src="~/Scripts/globalize/currency.js"></script>
    <script src="~/Scripts/globalize/relative-time.js"></script>
    <script src="~/Scripts/globalize/unit.js"></script>

所以我运行了我的应用程序并得到了这个错误

E_MISSING_CLDR:缺少必需的 CLDR 内容supplemental/likelySubtags

这个 json 数据不包括在内,所以我手动添加了文件并将其包含在我的主布局页面中

<script type="text/javascript">

        $.get("Scripts/cldr/supplemental/likelySubtags.json", Cldr.load);

        

    </script>

但我仍然遇到同样的错误,有人可以帮助我吗?我怎样才能让 globalize.js 真正起作用?

4

1 回答 1

1

入门

npm install globalize cldr-data

然后

var Globalize = require( "globalize" );
Globalize.load( require( "cldr-data" ).entireSupplemental() );
Globalize.load( require( "cldr-data" ).entireMainFor( "en", "es" ) );

Globalize("en").formatDate(new Date());
// > "11/27/2015"

Globalize("es").formatDate(new Date());
// > "27/11/2015"

你想在浏览器上运行它吗?你的堆栈是什么?如果您使用的是 webpack,请参阅使用 webpack 的Globalize App 示例

如果您使用不同的堆栈,请参阅其他示例https://github.com/globalizejs/globalize/#examples

于 2017-05-05T12:41:56.550 回答