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 相关文章推荐
javascript工具库代码
Mar 29 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
jQuery简单实现图片预加载
Apr 20 Javascript
使用Browserify配合jQuery进行编程的超级指南
Jul 28 Javascript
JS实现动态增加和删除li标签行的实例代码
Oct 16 Javascript
vue mint-ui学习笔记之picker的使用
Oct 11 Javascript
jQuery自动或手动图片切换效果
Oct 11 jQuery
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 Javascript
深度了解vue.js中hooks的相关知识
Jun 14 Javascript
原生js 实现表单验证功能
Feb 08 Javascript
javascript遍历对象的五种方式实例代码
Oct 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
PHP与已存在的Java应用程序集成
2006/10/09 PHP
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
调整PHP的性能
2013/10/30 PHP
php5与php7的区别点总结
2019/10/11 PHP
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
字段太多jquey快速清空表单内容方法
2014/08/21 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
在JavaScript中处理时间之setMinutes()方法的使用
2015/06/11 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
JavaScript事件用法浅析
2016/10/31 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
js实现全选和全不选
2020/07/28 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[02:21]2018完美盛典章节片——初心
2018/12/17 DOTA
python遍历数组的方法小结
2015/04/30 Python
python基础while循环及if判断的实例讲解
2017/08/25 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
python3中确保枚举值代码分析
2020/12/02 Python
HTML5的Geolocation地理位置定位API使用教程
2016/05/12 HTML / CSS
HTML5离线应用与客户端存储的实现
2018/05/03 HTML / CSS
欧舒丹美国官网:L’Occitane美国
2018/02/23 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
社区八一活动方案
2014/02/03 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
2016大学先进团支部事迹材料
2016/03/01 职场文书
Javascript webpack动态import
2022/04/19 Javascript