‘/‘ 和 ‘./‘在Vite中的区别
把 base
从 '/'
改成 './'
只有 一个核心区别:
打包后所有静态资源的 URL 从 “绝对根路径” 变成了 “相对当前 HTML 文件的路径”。
场景 | base:'/' | base:'./' |
---|---|---|
引用 /assets/index-abc123.js | /assets/index-abc123.js | assets/index-abc123.js (少了开头的 / ) |
把 dist 丢到域名根目录 | ✅ 正常 | ✅ 正常 |
把 dist 丢到子目录(如 https://example.com/sub/ ) | ❌ 404(浏览器去 https://example.com/assets/… 找) | ✅ 正常(浏览器去 https://example.com/sub/assets/… 找) |
本地直接双击打开 dist/index.html | ❌ 404(file:/// 协议下绝对路径失效) | ✅ 正常 |
一句话记忆:
/
以域名根为起点,./
以 HTML 所在文件夹为起点。