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 相关文章推荐
解密效果
Jun 23 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
javascript使用输出语句实现网页特效代码
Aug 06 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
Angular 页面跳转时传参问题
Aug 01 Javascript
jQuery向父辈遍历的简单方法
Sep 18 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
微信小程序五星评分效果实现代码
Apr 06 Javascript
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
js中的 || 与 && 运算符详解
May 24 Javascript
vue element-ui中table合计指定列求和实例
Nov 02 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操作文件方法问答
2007/03/16 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
js阻止浏览器默认行为的简单实例
2016/05/15 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
[36:33]Ti4 循环赛第四日 附加赛NEWBEE vs Mouz
2014/07/13 DOTA
Python导入txt数据到mysql的方法
2015/04/08 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python获取点击的坐标画图形的方法
2019/07/09 Python
python range实例用法分享
2020/02/06 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
广州盈通面试题
2015/12/05 面试题
优秀的茶餐厅创业计划书
2014/01/03 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
关于祖国的演讲稿
2014/05/04 职场文书
教师个人成长总结
2015/02/11 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
解决mysql的int型主键自增问题
2021/07/15 MySQL
Python使用BeautifulSoup4修改网页内容
2022/05/20 Python