2011-09-26 53 views
2

我正在做一些测试与node.js和几个模块\库。为了简单起见,我将专注于underscore.js。命令行node.js;运行脚本与模块

当我用下面的源node.exe运行:

require("./underscore.js"); 
_.each({one : 1, two : 2, three : 3}, function(num, key){ console.log(num); }); 

我得到:

C:\Dropbox\personal-work\foo\test code>node library-tests.js 

node.js:208 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
ReferenceError: _ is not defined 
    at Object.<anonymous> (C:\Dropbox\personal-work\foo\test code\library-tests.js:2:1) 
    at Module._compile (module.js:425:26) 
    at Object..js (module.js:443:10) 
    at Module.load (module.js:344:31) 
    at Function._load (module.js:303:12) 
    at Array.<anonymous> (module.js:463:10) 
    at EventEmitter._tickCallback (node.js:200:26) 

什么也奇怪的是,当我运行它像这样:

node underscore.js library-tests.js

它似乎没有做任何事情......我甚至添加了日志状态nts,他们似乎并没有执行。

我也试过在underscore.js源粘贴到我的源代码的顶部,我也得到了同样的错误......

有谁知道我在做什么错在这里?谢谢。

回答

7

尝试给它分配:

var _ = require('../underscore.js'); 

这里您可以看到在强调将自身添加到全局命名空间,如果它是在CommonJS的实施运行(其中,Node.js的是annotated source code一)。

+0

叹气,谢谢 - rtfm再次袭击:| – javamonkey79