【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案

这篇具有很好参考价值的文章主要介绍了【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【写在前面】vue3在vscode运行正常、build后在IDEA运行正常,但是当部署在服务器上运行发现样式加载不出来,下面我们针对这些情况进行复现与解决。

一、问题分析

困扰我好久,当即百度原因,百度清一色下面三种情况:
1、nginx配置文件的问题
2、控制台样式404,文件没找到【文件路径错误】
3、样式引入顺序不对存在覆盖
但是我的以上都不是,搞得我头都大,我的居然是java配置拦截的问题

二、问题解决(多方位解决)

1、nginx配置问题的解决方法是:

找到您服务器上nginx.conf文件,一般在/nginx/conf路径下,编辑该文件,查看一下是否在http的方括号内是否有一下内容,没有的话添加上,有的忽略

include       mime.types;
default_type  application/octet-stream;

这个也是会引发css样式加载不了的状况,添加后效果如下。
【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案

2、控制台样式引入404解决方法

页面是空白,且控制台加载的样式css和js文件都是404状态也,如下:
【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案
那么这种情况问题就出现在前端上了,切记排查你前端项目的vue.config.js文件,看看里面的publicPath变量是否写成了’/’,而不是’./’,这里的·是很重要的,意味着表示相对路径,要是没有点的话就是绝对路径(根目录),所以会存在404的问题。修改后如下:
【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案
然后修改好后记得重新打包后上传哟!

3、样式文件引入位置先后的问题解决

当然这个是针对很多人说的elementui的引入的问题,说是调整main.js文件引入elementui的css样式的先后顺序,也就是在import App之前加引入,如下所示顺序:

import 'element-ui/lib/theme-chalk/index.css'
import App from './App'

但是我自己测试不管在前在后都一样的效果,所以我个人觉得这个作用没啥用。

4、java配置文件拦截问题解决

之前一直把方向定位在nginx和tomcat及vue前端代码上,却忽略了java的拦截,java应该在spring-mvc.xml文件设置放行文件,也就是mvc:resources标签里面应该将css和image、js进行放行,具体根据你的配置来写,我的如下:

<mvc:resources location="/static/css/" mapping="/static/css/**"/>
<mvc:resources location="/static/img/" mapping="/static/img/**"/>
<mvc:resources location="/static/js/" mapping="/static/js/**"/>

之前我以为没有用,把它注释了,导致自己花了好一段时间才定位出来,所以大家当出现css在页面上能加载,但是页面样式错乱的情况下,可以自己去想一想是不是java文件没放行的原因,尤其是有些人会写一些doFilter文件做权限控制。
【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案

三、搞定收工

最后再将包重新clean-重新打包后,上传到服务器上面,然后再访问您就会发现其实往往更多时候是自己忽略了一些细节,希望我写的记录的能给迷茫的您带来一些帮助哈,喜欢的话可以收藏哟!
如果还没解决您的问题欢迎留言,看到后博主会尽量回复解答,有其他特殊情况也会定期更新解决方案,期待您的来信与留言!!

【写在最后】喜欢博主的话可以给个小爱心哟,我们一起努力,一起加油!!!岁月静好,愿青春温柔以待文章来源地址https://www.toymoban.com/news/detail-408054.html

到了这里,关于【vue项目部署CSS失效】VUE部署后css样式加载无效和失效多种情况解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue项目打包,解决静态资源无法加载和路由加载无效(404)问题

    打包后的项目静态资源无法使用,导致页面空白 静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,此时找到config里面的index.js,在build模块下加入 assetsPublicPath: \\\'./\\\',  如下图所示,或者是在打包完的dist文件夹中找里面的.js文件,将其中的\\\'/\\\'替

    2024年02月08日
    浏览(47)
  • Vue项目VScode提示失效(一直在加载中、ctrl+鼠标左键失效)

    最近打开前端项目发现一些奇怪的现象: 代码提示没了 ctrl+鼠标左键失效 鼠标放错误代码一直显示“正在加载” vscode下方一直显示“load project xxx” style中 颜色预览小方块不见了 解决方法: 这个问题其实是插件冲突问题,是Vetur和Eslint冲突,打开插件管理,安装另一个版本

    2024年02月15日
    浏览(34)
  • 【CSS扩展】VUE如何使用或修改element plus中自带的CSS全局变量来定义样式

    目录 一、CSS声明全局变量 二、使用el plus 和 el ui的自带样式 1、element plus—— var.scss位置 2、element ui—— var.scss位置 三、修改el plus 和 el ui中的自定义样式变量(方法一致) 本萌新最近在写网页时使用到了element plus中自带的CSS全局样式定义,本文将从CSS声明全局变量的方法出

    2024年01月22日
    浏览(51)
  • vue3 + Tailwind Css + Vite 搭建快速开发前端样式环境

    一个功能类优先的 CSS 框架,用于快速构建定制的用户界面。这是来自 TailwindCss 官方定义。 中文网站 Tailwindcss 基于原子化理念,将样式重复性代码降到最小,原本开发最大限度基于类名的声明块不重复,现在Tailwindcss基于单独一句声明不重复。 活跃度 github starts 数量达到

    2024年02月04日
    浏览(61)
  • Vue3通过JS修改Css样式(附节点获取相关知识)

    方法一:通过获取节点style(获取标签节点) 方法二:通过动态设置class 方法三:直接动态设置style  附节点获取相关知识

    2024年02月16日
    浏览(37)
  • vue、js获取页面中所有css样式(包括link标签)案例为打印使用

    最近碰到一个需求:将弹窗中的表单打印出来,还要保留弹窗表单的样式,为了对页面造成的影响最小采取iframe方案。 获取弹窗html内容很好办 这个时候我们点击打印按钮调用上面的方法,会发现表单缺少样式,怎么拿到缺少的css样式呢,代码如下 将代码加入方法print方法中

    2024年02月09日
    浏览(44)
  • vue复用组件出现data-v-xxx乱码无法通过css修改指定样式

    vue复用组件出现data-v-xxx乱码无法通过css修改指定样式解决方案如下 选择需要修改的样式 给最高级父级元素定义新的classname 与原有样式保持相同级联 修改指定样式 .demo_parent .demo_son .demo_grandson[data-v-73a2ee76]{ padding: 0; border-radius: 3px; background: #fff; } 改为指定的样式 .demo_parent_s

    2024年02月21日
    浏览(40)
  • nginx部署前端项目 nginx部署无法加载js/css问题 Uncaught SyntaxError: Unexpected token ‘<‘

    注意:将多个html项目放在一个server中出现js,css加载不出来问题 可以将文件放在主项目同级目录下(暂时解决,可能是静态资源配置问题,不会弄)。 1.下载nginx,解压 2.将项目放入html目录下 3.修改nginx.conf文件 4.修改端口防止占用和添加新映射 5.普通html项目,部署会出现以下

    2024年02月04日
    浏览(44)
  • 项目部署后,前端vue代理失效问题解决

    title:工作日记,前段后分离项目,在部署时遇到的问题,Vue项目打包成dist文件之后放在服务器上,通过运行java-jar包,在application.yml中引入静态资源的方式访问前端。如下图所示: 问题1 :前端页面是可以访问到了,但是后端访问不到,在本地中运行就可以。 首先前端我在

    2024年02月03日
    浏览(33)
  • Vue项目中关于全局css的处理

    我们在写CSS的时候,会遇到大量相同的属性(比如:margin-top:10px)这种属性 几乎每个vue页面都有 。这个时候,我们可以把 css挂载到全局上 ,供所有vue页面使用,同时也方便修改。 在App.vue的style标签内引入 在main.js中引入 在index.html 中引入 4. 在vue.comfig.js中引入 拆分的结果可以

    2024年02月04日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包