Skip to content

Node.js学习

关于Node

process.cwd()、dirname和filename的区别

  • process.cwd()

方法会返回 Node.js 进程的当前工作目录。

  • __dirname

当前模块的目录名。 相当于 __filenamepath.dirname()

  • __filename

当前模块的文件名。 这是当前的模块文件的绝对路径(符号链接会被解析)。

/Users/mjr 运行 node example.js

javascript
console.log(process.cwd());
// 打印: /Users/mjr
console.log(__filename);
// 打印: /Users/mjr/example.js
console.log(__dirname);
// 打印: /Users/mjr

当我们在 webpackApp 中执行 we serve,会打印出

javascript
process.cwd() /Users/forguo/work/mine/we-cli/webpackApp
__dirname /Users/forguo/work/mine/we-cli/lib/config/webpack
__filename /Users/forguo/work/mine/we-cli/lib/config/webpack/webpack.dev.js

path.resolve()、path.join()的区别

  • path.join()

path.join() 方法会将所有给定的 path 片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。

长度为零的 path 片段会被忽略。 如果连接后的路径字符串为长度为零的字符串,则返回 '.',表示当前工作目录。

  • path.resolve()

path.resolve() 方法会将路径或路径片段的序列解析为绝对路径。