vue-cli设置css不生效的解决方法


Posted in Javascript onFebruary 07, 2020

我们有的项目使用的是老的vue-cli脚手架生成的,今天想写点东西,发现.vue文件里面 style 里面写的样式都不生效了,很自然就想到是不是loader的问题。

在这种项目的webpack.base.config.js一般设置loader的

rules: [
   ...(config.dev.useEslint ? [createLintingRule()] : []),
   {
    test: /\.vue$/,
    loader: 'vue-loader',
    options: vueLoaderConfig
   },
   {
    test: /\.js$/,
    loader: 'babel-loader',
    include: [resolve('src'), resolve('test')]
   },
   ...
}

很显然,我们在.vue文件里面的样式怎么生效跟.vue的这个loader有关了。

上面的 vueLoaderConfig 是对 vue-loader 的配置

打印出来如下:

vue-cli设置css不生效的解决方法

通过阅读/build/utils.js的源码我们很容易知道上面返回的 loaders 就是针对 csspostcss 等的对象,每一项的值是一个数组,它是类似于 [css-loader信息, postcss-loader信息] 的数组,并且第一个是css-loader信息,由于是loader的加载顺序是从右到左的,所以最后一个使用的是css-loader。

以前这样写是没有问题,现在打开好久不用的老项目删除node-modules后重新安装发现问题,我猜测多半是vue-loader之类的升级版本了,毕竟我们使用的 package.json 默认并没有锁定版本。我们安装的很可能并不是我们在 package.json 里面写的版本。

解决方案

方法一

现在只用再加上vue-style-loader即可,也就是使用[vue-style-loader信息, css-loader信息, postcss-loader信息]即可。
我们可以更改.vue的loader相关配置

{
    test: /\.vue$/,
    loader: 'vue-loader',
    // options: vueLoaderConfig
    options: {
      loaders: {
       'scss': 'vue-style-loader!css-loader!sass-loader',
       'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax'
     }
    }
   },

方法二

也可以更改/build/utils.js里面,讲默认的css-loader改一下,在前面加入vue-style-loader即可

vue-cli设置css不生效的解决方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery监控数据是否变化(修正版)
Apr 12 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
Mar 27 Javascript
jquery隔行换色效果实现方法
Jan 15 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
CSS图片响应式 垂直水平居中
Aug 14 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
Sep 06 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
Sep 27 Javascript
vue中的provide/inject的学习使用
May 09 Javascript
新手快速入门微信小程序组件库 iView Weapp
Jun 24 Javascript
js中复选框的取值及赋值示例详解
Oct 18 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
Feb 24 Javascript
js生成1到100的随机数最简单的实现方法
Feb 07 #Javascript
JavaScript实现飞舞的泡泡效果
Feb 07 #Javascript
JavaScript实现Excel表格效果
Feb 07 #Javascript
js实现自动播放匀速轮播图
Feb 06 #Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 #Javascript
vue 检测用户上传图片宽高的方法
Feb 06 #Javascript
vue中对象数组去重的实现
Feb 06 #Javascript
You might like
体育彩票排列三组选三算法分享
2014/03/07 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
PHP设计模式之状态模式定义与用法详解
2018/04/02 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
jquery插件开发之实现md5插件
2014/03/17 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
js实现录音上传功能
2019/11/22 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
python 异或加密字符串的实例
2018/10/14 Python
详解python中的Turtle函数库
2018/11/19 Python
python版DDOS攻击脚本
2019/06/12 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
出国留学自荐信
2013/10/25 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
代理协议书范本
2014/04/22 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
2015年挂职锻炼工作总结
2014/12/12 职场文书
好好学习保证书
2015/02/26 职场文书
单位计划生育责任书
2015/05/09 职场文书
工厂无线对讲系统解决方案
2022/02/18 无线电