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 相关文章推荐
window.open()弹出居中的窗口
Feb 01 Javascript
JS 树形递归实例代码
May 18 Javascript
jquery checkbox实现单选小例
Nov 27 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
jquery插件Jplayer使用方法简析
Apr 22 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
Dec 12 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
Vue中img的src属性绑定与static文件夹实例
May 18 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
八种Vue组件间通讯方式合集(推荐)
Aug 18 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
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实现文件上传操作和封装
2020/03/04 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
js数组的基本用法及数组根据下标(数值或字符)移除元素
2013/10/20 Javascript
javascript基本类型详解
2014/11/28 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
2015/03/23 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
2015/06/05 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
Javascript基础_嵌入图像的简单实现
2016/06/14 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
python 判断是否为正小数和正整数的实例
2017/07/23 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
简单的命令查看安装的python版本号
2020/08/28 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
大学生毕业自荐信
2013/10/10 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
新教师工作感言
2014/02/16 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
师德师风事迹材料
2014/12/20 职场文书
现役军人家属慰问信
2015/03/24 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
太空授课观后感
2015/06/17 职场文书
朋友圈早安励志语录!
2019/07/08 职场文书
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js