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快速上手:写jQuery与直接写JS的区别详细解析
Aug 26 Javascript
JS跨域问题详解
Nov 25 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
JS控制按钮10秒钟后可用的方法
Dec 22 Javascript
jQuery动态加载css文件实现方法
Jun 15 Javascript
AngularJS通过$location获取及改变当前页面的URL
Sep 23 Javascript
微信小程序实现图片自适应(支持多图)
Jan 25 Javascript
uploader秒传图片到服务器完整代码
Apr 22 Javascript
npm 常用命令详解(小结)
Jan 17 Javascript
Vuex的实战使用详解
Oct 31 Javascript
JS实现TITLE悬停长久显示效果完整示例
Feb 11 Javascript
JavaScript实现网页tab栏效果制作
Nov 20 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
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
2010/04/07 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
Symfony的安装和配置方法
2016/03/17 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
js+div实现文字滚动和图片切换效果代码
2015/08/27 Javascript
JQuery EasyUI的使用
2016/02/24 Javascript
js事件处理程序跨浏览器解决方案
2016/03/27 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
Vue 子组件与数据传递问题及注意事项
2019/07/11 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python2 与 python3 实现共存的方法
2018/07/12 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python调用其他文件函数或类的示例
2019/07/16 Python
python3 求约数的实例
2019/12/05 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
python xlsxwriter模块的使用
2020/12/24 Python
Shell如何接收变量输入
2016/08/06 面试题
班级活动总结格式
2014/08/30 职场文书
客户答谢会活动方案
2014/08/31 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
公司备用金管理制度
2015/08/04 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书