Node.js构建含版本号路径文件名:版本号.1丢失问题求助
Node.js构建带版本号文件名的问题解决
path.join本身不会截断你的文件名,你看到的「NewFile v1」大概率是后续处理路径时错误识别了扩展名导致的——比如用path.parse()解析时,默认会把最后一个.后面的内容当成扩展名,所以NewFile v1.1会被拆成name: 'NewFile v1'和ext: '.1'。
给你两种解决思路:
- 直接使用完整路径:
path.join生成的路径本身是包含完整文件名的,你可以直接打印验证:
const path = require('path'); const pathFile = path.join(__dirname, '..', 'NewFile v1.1'); console.log(pathFile); // 输出带完整「NewFile v1.1」的路径
- 提取完整文件名:如果需要单独获取文件名,用
path.basename()替代path.parse().name:
const fullFileName = path.basename(pathFile); console.log(fullFileName); // 输出:NewFile v1.1
要是非得用path.parse,就手动把解析出的name和ext拼起来:
const parsed = path.parse(pathFile); const fullName = parsed.name + parsed.ext; console.log(fullName); // 输出:NewFile v1.1
内容的提问来源于stack exchange,提问作者miasen
相关产品推荐
相关产品推荐

