vite项目打包给静态资源加自定义前缀

2024-04-06

vite打包静态资源时,默认的是以/assets/开头,但是有时候我们需要增加前缀,保证nginx能够正确的托管静态资源。

配置

// vite.config.js
export default defineConfig({
  base:'/ios-shortcuts/', // 静态资源前缀
})

然后在模板文件中使用这个前缀:

<!-- index.html -->
<img src="/my-app/assets/logo.png" alt="logo">

<!-- 经过编译后的文件中 -->
<img src="/ios-shortcuts/assets/img/logo-ed15393f.png" alt="logo">

应用

如下是我项目的nginx部分配置,访问 http://dzbook.top/ios-shortcuts时就可以访问到/home/loster/mixms/shortcuts-ui/目录下的静态网页内容。

如果不加前缀的话,访问静态资源时,都是默认的路径,http://dzbook.top/asset/xxx.js等等,而不是我们需要的http://dzbook.top/ios-shortcuts/asset/xxx.js,这就会导致无法正确加载静态资源,页面无法正确渲染。

server {
    listen       80;
    server_name  dzbook.top;

    location /ios-shortcuts {
        alias /home/loster/mixms/shortcuts-ui/;
        index index.html;
    }
    
    // ````其他配置
    
}

PREV
django数据库相关操作
NEXT
JavaScript函数的bind、call、apply