我在这个带有Vite的项目中使用React。
我在公用文件夹中有两个资产文件夹
- 图片
- 图标
当我运行构建命令vite build
时,dist包括Puclic中的图像和图标文件夹,它运行良好。
生成文件图像
这是我的vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
build: {
rollupOptions: {
output: {
assetFileNames: (assetInfo) => {
let extType = assetInfo.name.split('.')[1]
if (/png|jpe?g|svg|gif|tiff|bmp|ico/i.test(extType)) {
extType = 'img'
}
return `assets/${extType}/[name]-[hash][extname]`
},
},
},
},
})
但在Vercel中,当我存放页面时,找不到图像和图标404。
在Vercel中,我可以看到输出源显示了第二个我无法访问的assests文件,而不是图像和图标文件夹。
Vercel输出源图像
这是Vercel中的build命令中的问题吗?还是需要更改vite.config.ts
中的构建选项?
我联系了Vercel Support,他们帮助我解决了这个问题,这很容易解决。
Vercel对文件夹名称区分大小写,所以如果你有一个公用文件夹,它应该是小写的。
纠正
- 公共✅
错误:
- 公共❌
Git在将文件夹从大写重命名为小写时可能检测不到文件更改,所以我使用这个Git-config命令来检测的更改
git config core.ignorecase false