1

我正在尝试使用流星组合一个小应用程序,并且很幸运。但我无法让应用程序为momentjs使用Twix插件。

使用 Meteorite,我从 Atmosphere 添加了 Momentjs 库mrt add moment,所以没有问题。但是 Atmosphere 中没有 twix 包。我使用 npm 安装了 twix 包,但流星和 mrt 都不会addtwix,Package named twix doesn't exist in your meteor installation我想这是有道理的,它是 Nodejs 包而不是 Meteor 包。最后我尝试下载 twix.js 文件并将其放在不同的目录中,但没有任何效果。

这段代码我没有收到错误:

if (Meteor.isServer) {
    Meteor.startup(function () {
        var moment = Npm.require('moment');
        Npm.require('twix');
    });

我可以使用 MomentJS 库,但不能使用 twix 插件。写作(在 Meteor.isClient 中)

Template.dayTable.date = function() {
    return moment(Session.get('selectedDate')).format("MMM Do YY");
}

工作正常,但写作

var t = new moment("1/25/1982 9:30 AM").twix("1/25/1982 1:30 PM");

有 js 控制台告诉我吗Uncaught TypeError: Object [object Object] has no method 'twix'

有没有一个秘密的地方可以让 Meteor/MomentJS 使用 twix.js 文件(这似乎很可能)?我没有正确地要求它吗?或者是什么?

谢谢!

4

2 回答 2

0

Meteor 按特定顺序加载 javascript。请参阅Meteor 文档(搜索“加载顺序”)。要解决这个问题:

  • 将 moment.js 添加到 client/lib 以确保在 twix 之前加载它
  • 将 twix.js 添加到客户端文件夹

您还可以考虑创建一个包(这Npm.require是预期的)并包含它,或者重命名文件,因为文件是按字母顺序包含的。更多信息在文档中。

于 2013-04-15T15:05:34.317 回答
0

它没有在任何地方记录,但您也可以独立使用 Twix,如下所示:

var Twix = Npm.require('twix');
var t = new Twix(firstTime, secondTime);
于 2013-06-12T22:04:39.527 回答