Node.js 中的内置模板path
1. path的作用:path
是 Node.js 中的一个内置模块,用于处理文件和目录路径。它提供了一些工具来处理路径字符串,确保路径操作跨平台兼容(Windows 和 Unix 风格的路径分隔符)
2.path的常用方法
path.join()
和数组的join方法相似,它也可以起到拼接作用,它用于将多个路径片段连接起来,并正确地处理路径分隔符。即使有错误的分隔符,它也可以自动修正
const path = require('path');
const fullPath = path.join('folder', 'subfolder', 'file.txt');
console.log(fullPath); // 输出: 'folder/subfolder/file.txt' (在Windows上会是 'folder\\subfolder\\file.txt')
path.resolve()
解析给定的路径为绝对路径。它会根据当前工作目录来确定完整路径。
经常和__dirname结合使用,__dirname
是 Node.js 中的一个全局变量,它表示当前模块文件所在的目录的绝对路径。__dirname会返回一个字符串,可以把它放到path.resolve()的参数中,而且他是一个全局变量,无需导入可以直接使用,二者结合可以得到正确的绝对路径
const path = require('path');module.exports = {entry: './src/index.js',output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist') // 使用 __dirname 确保输出路径是绝对路径}
};
path.basename():
获取路径中的文件名(去掉目录部分)
const path = require('path');
const filename = path.basename('/folder/subfolder/file.txt');
console.log(filename); // 输出: 'file.txt'
path.extname():
获取文件的扩展名,可以获得文章的类型
const path = require('path');
const extname = path.extname('file.txt');
console.log(extname); // 输出: '.txt'
path.dirname():
获取文件的目录部分
const path = require('path');
const dirname = path.dirname('/folder/subfolder/file.txt');
console.log(dirname); // 输出: '/folder/subfolder'
path.parse():
将路径解析成一个对象,包含路径的各个部分(root, dir, base, ext, name),网课中没有重点讲,但是我觉得它可以用来传递数据
const path = require('path');
const parsedPath = path.parse('/folder/subfolder/file.txt');
console.log(parsedPath);
// 输出:
// {
// root: '/',
// dir: '/folder/subfolder',
// base: 'file.txt',
// ext: '.txt',
// name: 'file'
// }