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 相关文章推荐
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
JS实现霓虹灯文字效果的方法
Aug 06 Javascript
jQuery实现无限往下滚动效果代码
Apr 16 Javascript
仿百度换肤功能的简单实例代码
Jul 11 Javascript
详解js实现线段交点的三种算法
Aug 09 Javascript
AngularJS入门教程之REST和定制服务详解
Aug 19 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
Jul 03 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
浅谈vue路径优化之resolve
Oct 13 Javascript
AngularJS实现图片上传和预览功能的方法分析
Nov 08 Javascript
vue中echarts引入中国地图的案例
Jul 28 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
咖啡的化学
2021/03/03 咖啡文化
php中mkdir函数用法实例分析
2014/11/15 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
PHP 图片处理
2020/09/16 PHP
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
jquery css实现邮箱自动补全
2016/11/14 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python实现的Kmeans++算法实例
2014/04/26 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python实现多层感知器
2019/01/18 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
总经理岗位职责
2013/11/09 职场文书
毕业证丢失证明
2014/01/15 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
租房协议书怎么写
2014/04/10 职场文书
同学毕业留言寄语
2015/02/27 职场文书
React-vscode使用jsx语法的问题及解决方法
2021/06/21 Javascript