1

根据他们的文档,需要做的就是需要该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-generic 内核的 Ubuntu 13.04,并且 nodejs 是通过 ppa:chris-lea/node.js 的包管理器安装的

4

2 回答 2

0

moment-isocalendar是一个插件,不是moment.js 库的一部分。我的猜测是他们没有在最后一个 moment.js 版本中更新它,但我还没有验证这一点。

你应该在这里提出一个问题:https ://github.com/fusionbox/moment-isocalendar

于 2013-08-13T15:42:34.497 回答
0

经过一番研究,答案很简单:它不起作用。它依赖于较旧的 nodejs 功能(错误),您可以在其中对内存中的模块进行猴子补丁 first require,这显然不再起作用(在 0.10.12 中起作用,在 0.10.15 中不起作用)。

如果有人按原样获得模块,我将更改正确答案。

于 2013-08-13T16:01:53.737 回答