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 相关文章推荐
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 Javascript
JavaScript随机排序(随即出牌)
Sep 17 Javascript
JavaScript中的16进制字符(改进)
Nov 21 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
javascript实现div的显示和隐藏的小例子
Jun 25 Javascript
js的2种继承方式详解
Mar 04 Javascript
JavaScript中的call方法和apply方法使用对比
Aug 12 Javascript
AngularJS ng-app 指令实例详解
Jul 30 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
jquery实现轮播图效果
Feb 13 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
vue用addRoutes实现动态路由的示例
Sep 15 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
discuz论坛 用户登录 后台程序代码
2008/11/27 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
详解VUE 数组更新
2017/12/16 Javascript
关于HTML5的data-*自定义属性的总结
2018/05/05 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
2018/08/24 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
介绍Python中内置的itertools模块
2015/04/29 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python cookbook(数据结构与算法)通过公共键对字典列表排序算法示例
2018/03/15 Python
Python2.7环境Flask框架安装简明教程【已测试】
2018/07/13 Python
详解Python sys.argv使用方法
2019/05/10 Python
django模板获取list中指定索引的值方式
2020/05/14 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
Spy++的使用方法及下载教程
2021/01/29 Python
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
国外最大的眼镜网站:Coastal
2017/08/09 全球购物
总经理助理的八要求
2013/11/12 职场文书
学生打架检讨书大全
2014/01/23 职场文书
拉歌口号大全
2014/06/13 职场文书
教师自我剖析材料(四风问题)
2014/09/30 职场文书
整改报告怎么写
2014/11/06 职场文书
文明礼貌主题班会
2015/08/14 职场文书
环保建议书作文500字
2015/09/14 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript