关于vite打包不能识别空格字符路径导致报错的问题

在使用Vite进行项目打包时,路径中包含空格的资源路径会被url-parse转义成%20,导致找不到文件而报错。这与Webpack使用path模块处理路径不转义空格不同。为确保项目可移植性,建议避免在路径中使用空格。
摘要由CSDN通过智能技术生成

1.报错截图:

 最近在做一个新项目时迁移了部分旧项目的功能界面。使用vite打包时

2.报错原因:

"../../assets/imgs/Group 825.png"

这种带有空格的路径空格会被转义成%20,导致报错找不到图片路径打包失败。

3.打包原理解释

(1)为什么会导致vite出现这种路径问题?

        Vite 打包工具使用的是 url-parse 库来处理路径,该库会将路径中的特殊字符进行转义,包括空格字符,在 URL 编码中空格字符会被转义为 %20。因此,如果在路径中包含空格字符,Vite 会将其转义为 %20,导致打包失败。

(2)为什么webpack就不会出现这种问题呢?

        webpack和 Vite 不同,Webpack 使用的是 Node.js 自带的模块 path 来处理路径。在 Node.js 中,空格字符不需要进行转义,因此在 Webpack 打包项目时,不会出现和 Vite 类似的路径转义问题。

例如,在 Webpack 中,在路径中使用 /path/to/my file.txt 是合法的,不需要进行转义,Webpack 也能正常处理这个路径。

然而,为了保证项目的可移植性,在跨平台开发时最好仍然避免在路径中使用空格字符。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有只老羊在发呆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值