コンソールでノードを実行して「」と入力するとvar _ = require('underscore');
、_
未定義になります。同じコードをファイルに入れて実行すると、期待どおりにアンダースコアライブラリが含まれます。
$ node
> var _ = require('underscore');
> console.log(_)
undefined // underscore library does not load
> var async = require('async');
undefined
> console.log(async) // async library does
{ noConflict: [Function],
nextTick: [Function],
forEach: [Function],
...
>
ただし、実行された.jsファイルの同じコードは、node test.js
両方のライブラリが期待どおりに読み込まれていることを示しています。どうしたの?