开始我们先了解下Node.js提供的全局变量:
module.filename:开发期间,该行代码所在的文件。
__filename:表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行参数所指定的文件名不一定相同。 如果在模块中,返回的值是模块文件的路径。
始终等于 module.filename。
__dirname:当前执行脚本文件所在的目录。
process.cwd():返回当前进程的工作目录。
require.main.filename:用node命令启动的module的filename, 如 node xxx,这里的filename就是这个xxx。
一、
const path = require('path');
const appDir = path.dirname(require.main.filename);
二、
global.appRoot = process.cwd();//返回当前进程的工作目录
console.log('****************'+appRoot);
三、使用第三方模块app-root-path
https://github.com/inxilpro/node-app-root-path