时刻isocalendar无法正常工作

时间:2013-08-13 15:24:49

标签: node.js date datetime momentjs

根据他们的文档,所有人需要做的是需要moment-isocalendar模块。

这不起作用:

var m = require("moment");
var i = require("moment-isocalendar");
m().isocalendar();

它抛出

TypeError: Object Tue Aug 13 2013 18:20:36 GMT+0300 has no method 'isocalendar'
    at repl:1:6
    at REPLServer.self.eval (repl.js:110:21)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface._line (readline.js:531:8)
    at Interface._ttyWrite (readline.js:760:14)
    at ReadStream.onkeypress (readline.js:99:10)
    at ReadStream.EventEmitter.emit (events.js:98:17)
    at emitKey (readline.js:1095:12)

我查看了模块(所有模块都安装了npm),它需要“时刻”和猴子补丁。我尝试在moment-isocalendar模块之前要求moment,但得到了相同的结果。 moment-isocalendar是猴子补丁{}之后的空对象。

之前有没有人在nodejs中使用过momentjs插件?任何想法如何使这项工作?

稍后修改

它在nodejs v0.10.12中有效,但在nodejs v0.10.15中不起作用。我添加了答案。

稍后修改

我正在使用3.8.0-26通用内核运行Ubuntu 13.04,并且通过包管理器从ppa安装nodejs:chris-lea / node.js

2 个答案:

答案 0 :(得分:0)

moment-isocalendar是一个插件,不是主要的moment.js库的一部分。我的猜测是他们没有在最后一刻更新它。我释放了,但我还没有证实这一点。

您应该在此处提出问题:https://github.com/fusionbox/moment-isocalendar

答案 1 :(得分:0)

经过一番研究后,答案很简单:它不起作用。它依赖于一个较旧的nodejs功能(bug),您可以在第一个require之后对内存模块进行猴子修补,这显然不再适用(在0.10.12中工作,没有&#39 ;工作在0.10.15)。

如果有人按原样运行该模块,我将更改正确的答案。