例子假如我们有这样的文件结构:
app/ -lib/ -common.js -model -task.js -test.js
执行代码:
var path = require("path"); console.log(__dirname); console.log(__filename); console.log(process.cwd()); console.log(path.resolve());
执行结果:
/Users/gaolu11/work/gulp/webpack/app/model /Users/gaolu11/work/gulp/webpack/app/model/task.js /Users/gaolu11/work/gulp/webpack/app/model /Users/gaolu11/work/gulp/webpack/app/model
结论:
- __dirname: 总是返回被执行的 js 所在文件夹的绝对路径
- __filename: 总是返回被执行的 js 的绝对路径
- process.cwd(): 总是返回运行 node 命令时所在的文件夹的绝对路径
绝对路径写法:
// 当前目录下 path.dirname(__filename) + '/test.js'; // 相邻目录下 path.resolve(__dirname, '../lib/common.js');