关于module.paths的困惑
发布于 7 年前 作者 xiaohuame 4185 次浏览 来自 问答

为什么我的module.paths返回的结果中第一个永远是repl

$ pwd
/Users/xh/project/byd
$ node
> module.paths
[ '/Users/xh/project/byd/repl/node_modules',
  '/Users/xh/project/byd/node_modules',
  '/Users/xh/project/node_modules',
  '/Users/xh/node_modules',
  '/Users/node_modules',
  '/node_modules',
  '/Users/xh/.node_modules',
  '/Users/xh.node_libraries',
  '/Users/xh/.nvm/versions/node/v7.2.1/lib/node' ]
>
4 回复

应该是因为你进入了 repl 模式(read–eval–print loop)吧,如果是通过脚本文件执行的话,就不包含 repl 了:

$ pwd
/d/workspace/czwm
$ node
> module.paths
[ 'D:\\workspace\\czwm\\repl\\node_modules',
  'D:\\workspace\\czwm\\node_modules',
  'D:\\workspace\\node_modules',
  'D:\\node_modules',
  'C:\\Users\\xxx\\.node_modules',
  'C:\\Users\\xxx\\.node_libraries',
  'C:\\Program Files\\lib\\node' ]
  
$ pwd
/d/workspace/czwm
$ echo "console.log(module.paths);" >> test.js
$ node test.js
[ 'D:\\workspace\\czwm\\node_modules',
  'D:\\workspace\\node_modules',
  'D:\\node_modules' ]

@xcatliu 太感谢了原来如此,学习了。

回到顶部