Node.js中process.cwd()与__dirname的区别
process.cwd()
process.cwd()
方法返回Node.js进程的当前工作目录。
__dirname
当前模块的目录名。指向被执行的js文件的绝对路径。与__filename的path.dirname()相同。
例如:在/src/static/1.js
打印__dirname
,输出的就是/src/static
__filename
当前的模块文件的绝对路径。
例如:在/src/static/1.js
打印__filename
,输出的就是/src/static/1.js
'/'
以 '/' 为前缀的模块是文件的绝对路径。 例如, require('/home/marco/foo.js') 会加载 /home/marco/foo.js 文件。
'./'
以 './' 为前缀的模块是相对于调用 require() 的文件的。 也就是说, circle.js 必须和 foo.js 在同一目录下以便于 require('./circle') 找到它。
没有'/','./'或'../'
当没有以 '/'、 './' 或 '../' 开头来表示文件时,这个模块必须是一个核心模块或加载自 node_modules 目录。
已知越多,未知越多。