Open dave-wind opened 1 year ago
Node path 路径模块
[path.resolve]: 该方法用于将相对路径转为绝对路径。 var path = require('path'); console.log(__dirname); console.log(path.resolve(__dirname,'./src')); console.log(path.resolve(__dirname,'/src')); 结果: /Users/dave/work/core // 当前执行工作路径 /Users/dave/work/core/src /src 分析: 0.__dirname: 获得当前执行文件所在目录的完整目录名 1.只传入__dirname也可以自动调用path.resolve方法 2.可以拼接路径字符串,但是不调用path.resolve()方法拼接失败 3.从右至左解析,遇到了绝对路径/src,因此直接返回 核心: __dirname,process.cwd(); 他们的出发点 都是以执行文件为出发点 去找路径 [path.join()] 作用: path.join()方法使用平台特定的分隔符把全部给定的 path 片段连接到一起,并规范化生成的路径。 eg: console.log(path.join('/a', 'c', '/', '../bb')); // /a/bb 走路径一样 拼接起来 先 /a/c 遇到 / 继续; 遇到 ../bb 又返回上一级 去找bb [path.dirname]: Get the directories from a file path 从文件路径获取目录 path.dirname(__dirname) // 获取当前执行文件目录的父目录 /Users/dave/work
通过它来获得node进程相关的信息,比如运行node程序时的命令行参数。或者设置进程相关信息,比如设置环境变量 process.cwd():获得当前执行命令时文件夹目录名;和 __dirname 很像
通过它来获得node进程相关的信息,比如运行node程序时的命令行参数。或者设置进程相关信息,比如设置环境变量
process.cwd():获得当前执行命令时文件夹目录名;和 __dirname 很像
// 区别: process.cwd() 是当前执行node命令时候的文件夹地址 ——工作目录,保证了文件在不同的目录下执行时,路径始终不变 __dirname 是被执行的js 文件的地址 ——文件所在目录
eg: 去找某个node_modules 下的 配置文件的绝对路径: (切记 如果第二个参数是 /xxx; 绝对路径的 就会直接返回) path.resolve(process.cwd(), 'node_modules/xxx/xx.config.js')
process.chdir(): 切换当前工作路径 eg: process.chdir(../); 向上一级; process.chdir(./tmp); 切到tmp文件夹; 填入相对路径 此时 在打印 process.cwd() // /Users/dave/work/core/tmp
### fileName ```js 在当前目录执行test.js: __filename: 获得当前执行文件的带有完整绝对路径的文件名 // /Users/dave/work/core/est.js 1.eg:所以获取当前文件的目录: (这么写怎么都不会错) path.dirname(__filename) 路径还可以拼接,比如以当前文件目录为中心 去找dist下的util path.dirname(__filename)+ '/dist/util.js' // 返回的都是绝对路径 2.读取当前目录下 某个文件 fs.readFile(path.dirname(__filename)+ '/file/test.json'); 核心: 是以当前这个文件为出发点,去找路径
fs 文件模块 [fs.existsSync] 同步执行;判断文件是否存在 返回 boolean 读取文件一般全用绝对路径 eg: 判断一个文件是否存在 fs.existsSync( path.resolve(process.cwd(), 'xx.config.js'));
Path
process
// 区别: process.cwd() 是当前执行node命令时候的文件夹地址 ——工作目录,保证了文件在不同的目录下执行时,路径始终不变 __dirname 是被执行的js 文件的地址 ——文件所在目录
eg: 去找某个node_modules 下的 配置文件的绝对路径: (切记 如果第二个参数是 /xxx; 绝对路径的 就会直接返回) path.resolve(process.cwd(), 'node_modules/xxx/xx.config.js')
process.chdir(): 切换当前工作路径 eg: process.chdir(../); 向上一级; process.chdir(./tmp); 切到tmp文件夹; 填入相对路径 此时 在打印 process.cwd() // /Users/dave/work/core/tmp
fs