vite的静态资源放置路径与打包问题

一、根目录下的public目录

该目录为纯静态文件,图片等放该目录后,打包构建时,vite不会做任何处理,构建为dist目录后,直接复制到images文件夹下。

那么在组件中要这样写才能正确引用这些资源:

<img src="logo.png" alt="logo" width="120" />
<style lang="less">
.login {
  background: rgba(163, 203, 255, 0.2) url(/logo.png) no-repeat;
    center;
}
</style>   

请注意,不需要写public目录,如果你写了也能正常访问该静态资源,但是vite会警告你用/logo.png来代替/public/logo.png

另外的坑点是,这样写/public/logo.png.其实在开发环境也能正常访问到该图片,可是构建为dist目录后,处理就有问题了,它会到assets/public/images下去找这张图片,导致404错误。

二、src下的assets目录

如果静态资源是放在src/assets目录那么会经过vite打包处理,包括压缩、重命名等,其他所有的构建后的JS、CSS都会放在dist/assets文件下。

在组件中如何写路径才能引用这些静态资源呢?方法就是像引用其他src下的组件或JS一样的方式,比如:

 <img src="@/assets/images/test.jpg" alt="logo" width="120" />

@需要在vite.config.js中配置才能使用。

即使你在assets中新建了images,css等文件夹,构建后,dist目录的assets并不会同步新建同名文件夹分别存放,除非改写配置文件

三、网站的ico图标放置问题

做好的favicon.ico图标直接放置在public目录下,然后在根目录下的index.html中引入路径,写法如下:

  <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">

构建时,它会自动将其放到项目根目录文件夹中(与index.html同级)。

四、总结

如果图片不需要被处理,比如网站的结构用图,如logo图片,则放public中,否则如内容图片或者需要被构建为base64的小图标可以放放assets中.

https://blog.csdn.net/imqdcn/article/details/133379002

posted @   槑孒  阅读(2631)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
历史上的今天:
2022-02-01 Ajax分析与爬取实战
点击右上角即可分享
微信分享提示