首页 > 其他分享 >vite的静态资源放置路径与打包问题

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

时间:2024-02-01 11:15:26浏览次数:37  
标签:assets 静态 public 构建 vite logo 目录 打包

一、根目录下的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

标签:assets,静态,public,构建,vite,logo,目录,打包
From: https://www.cnblogs.com/echohye/p/18000776

相关文章

  • 3、linux配置静态ip
    linux配置静态ip1、找到ifcfg-ens*网络配置文件使用root用户编辑ifcfg-ens192文件,每个版本的可能后缀有点不一样cd/etc/sysconfig/network-scripts/viifcfg-ens1922、配置ifcfg-ens*更改的配置项为:更改为静态ip:BOOTPROTO=static(修改)开机启动:ONBOOT=yes(修改)配置本机......
  • 打包工具 Webpack(三)
    打包工具Webpack(三)打包css资源https://www.webpackjs.com/loaders/css-loader/#getting-startedlesshttps://www.webpackjs.com/loaders/less-loader/#getting-startedsasshttps://www.webpackjs.com/loaders/sass-loader/#getting-started打包图片webpack......
  • vite打包配置viteCompession压缩但页面无法打开
    前言后端换了服务器地址之后前端页面就无法访问,一直提示脚本加载失败 常规做法无疑是更改base地址为'/',当然这个具体地址还得看后端的Nginx配置 but,前端在开启viteCompession并且后端也配置了gzipon,gzip_staticon的情况下一直报错,在反复试错的情况下找到了......
  • 打包工具 Webpack(二)
    打包工具Webpack(二)它分为五大块入口出口加载器(webpack本身只能处理js、json等资源,其它资源需要借助加载器才能解析,比如css资源)插件模式我们一般会有一个配置文件(专门配置webpack的),叫做webapck.config.js//Node.js的核心模块,专门用来处理文件路径constpath=......
  • 打包工具 Webpack(一)
    打包工具Webpack(一)为什么需要打包工具?开发时,我们会使用框架(React、Vue),ES6语法、less/scss等css预处理器但是浏览器只认识纯粹的HTML/CSS/JavaScript所以我们需要打包工具帮我们转成浏览器认识的语法除此之外,打包工具还能压缩代码、提升代码性能等让我们来个案例......
  • npm包(npm install --legacy-bundling) 通过npm-pack-all 打包tgz,放到内网(不联网)nexus
    npm包(npminstall--legacy-bundling)通过npm-pack-all打包tgz,放到内网(不联网)nexus发布(npmpublish)需求内网不联网,安装指定npm包,装不上,还要支持CI的测试打包,所以要将外网的npm包放到内网的nexus私服上举例安装quill@1.3.7外网机器桌面建立目录needPackage(目录名随便,但......
  • px2rem vite
    1//vite.config.js23importpostcssPluginPx2remfrom'postcss-plugin-px2rem'45exportdefaultdefineConfig({6css:{7postcss:{8plugins:[9postcssPluginPx2rem({10......
  • java打包将静态文件一起打
    java打包将静态文件一起打Java打包将静态文件一起打概述在Java开发中,我们常常需要将静态文件(如html、css、js等)一同打包到生成的jar文件中,以便于在项目部署时一并发布。本文将介绍如何实现这一过程,并提供详细的操作步骤和代码示例。流程下表展示了实现Java打包将静态文件一起......
  • Vite配置第三方组件全局样式遇坑
    项目使用了Vant组件库,想去改变全局的Toast样式有一个样式文件index.less,里面进行了Vant相关样式调整。希望通过构建,将其引入到自己的组件中开始通过preprocessorOptions进行引入,发现对Vant组件修改的样式不起效果,但是普通标签被修改样式后是有效果的preprocessorOptions:{......
  • nginx 配置静态资源认证
    location/media/{set$token$arg_token;if($arg_token=""){return401;}auth_request/validate_token;auth_request_set$auth_status$upstream_status;......