使用 bower 安装 moments-timezone 后:
我看到有最新时区数据的打包和解包版本。
在 moment-timezone.js 中,我看到有一个占位符//INJECT DATA,我认为我应该在其中插入我感兴趣的数据的打包版本。
我看到我有 moment-timezone-utils.js 以及打包/解包/过滤数据的方法。
我是否应该使用所有这些来离线准备我所需的数据版本,而不是插入输出结果而不是//INJECT DATA 占位符?
更新:
由于 friend 圈主页的“数据”部分目前是“即将推出...”,我目前所做的是手动离线运行:
JSON.stringify(moment.tz.filterLinkPack(unpackedBundle, startYear, endYear));
我从\data\unpacked 文件夹中取出了 unpackedBundle json 对象。
然后将结果加载到我的 java 脚本代码中的 moment-timezone。
moment.tz.load(filteredLinkedPackedBundle);
最佳答案
引用the Data Loading documentation . moment.tz.add
和 moment.tz.link
方法可用于加载单个区域和链接,或者您可以使用 moment.tz.load
加载包含多个区域的 JSON 数据。
使用数据的打包版本,来自 /data/packed在 repo 协议(protocol)中。 latest.json
包含当前版本的完整数据文件。您可以编辑此文件以删除您不关心的信息。
不过,最简单的方法是只使用来自 the moment-timezone main page 的文件之一。已经包含数据。
moment-timezone.js
不包含任何数据,仅包含脚本。与上述功能一起使用。moment-timezone-2010-2020.js
包含脚本和所有时区的数据,已 chop 以仅包含最近几年的更改。moment-timezone-all-years.js
包含脚本,以及所有年份所有时区的时区数据。它与使用moment-timezone.js
文件并加载latest.json
数据包基本相同。
您不需要修改脚本本身,因为数据可以单独加载。脚本中的 //INJECT DATA
注释只是 moment-timezone 构建过程的占位符,用于在为网站构建文件时知道将数据放置在何处。
关于javascript - 准备和使用带有区域和年份子集的 moment-timezone.js 的步骤是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36007199/