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多项选项卡的实现思路附样式及代码
Jun 03 Javascript
jQuery实现返回顶部功能适合不支持js的浏览器
Aug 19 Javascript
扒一扒JavaScript 预解释
Jan 28 Javascript
jQuery+css实现的换页标签栏效果
Jan 27 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
解决vue-router中的query动态传参问题
Mar 20 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
Apr 26 Javascript
每天学点Vue源码之vm.$mount挂载函数
Mar 11 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 Javascript
JavaScript中的几种继承方法示例
Dec 06 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
Jan 29 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
需要使用php模板的朋友必看的很多个顶级PHP模板引擎比较分析
2008/05/26 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
2014/09/04 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
关于session和cookie的简单理解
2016/06/08 Javascript
简单分析javascript中的函数
2016/09/10 Javascript
windows系统下更新nodejs版本的方案
2017/11/24 NodeJs
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
Python中的zip函数使用示例
2015/01/29 Python
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
python模块之time模块(实例讲解)
2017/09/13 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
Python如何获得百度统计API的数据并发送邮件示例代码
2019/01/27 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
经典c++面试题二
2015/08/14 面试题
Laravel中Kafka的使用详解
2021/03/24 PHP
会计专业自我鉴定范文
2013/12/29 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
洗手间标语
2014/06/23 职场文书
2014年国庆节演讲稿精选范文1500字
2014/09/25 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
高中政治教师教学反思
2016/02/23 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
Redis的字符串是如何实现的
2021/10/24 Redis
MySQL优化常用的19种有效方法(推荐!)
2022/03/17 MySQL