英文
当我尝试在Node.js shell中使用require
加载模块来玩它时,我得到了一些意想不到的结果(而不是编写脚本并使用Node运行它)。例如,在脚本中,我可以这样做:
var _ = require('grunt');
grunt.registerTask(/* ...*/);
这很好用。但是当我尝试在Node.js shell中执行此操作时,它首先找不到该模块,除非我指定node_modules
目录,然后调用其中一个模块'方法只能在停止之前工作一次。
在Tech-Speake中
在当前目录中,我有以下子目录:
- node_modules
- lodash
- grunt
现在我想使用其中一个已安装的库来使用Node.js shell:
$ node
> var _ = require('lodash');
undefined
> _ = require('./node_modules/lodash');
// Long output of function list
现在,如果我尝试使用lodash,它会运行一次然后停止,我必须再次导入它:
_.reduce(/* ... */); //Works
_.reduce(/* ... */); // TypeError: Cannot call method 'reduce' of undefined
答案 0 :(得分:12)
_
因为var名称不起作用,因为Node使用它来保存最后一次操作的结果。尝试类似:
> var l = require('lodash');
> l.reduce(/* ... */);