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中的Math.LN2属性用法详解
Jun 12 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
js 去掉字符串前后空格实现代码集合
Mar 25 Javascript
vue params、query传参使用详解
Sep 12 Javascript
Angular网络请求的封装方法
May 22 Javascript
vue的传参方式汇总和router使用技巧
May 22 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
Jun 04 jQuery
JS通过识别id、value值对checkbox设置选中状态
Feb 19 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
Oct 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目录导航文件代码
2006/10/09 PHP
mysql+php分页类(已测)
2008/03/31 PHP
PHP调用Twitter的RSS的实现代码
2010/03/10 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
Laravel如何使用Redis共享Session
2018/02/23 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
js 页面输出值
2008/11/30 Javascript
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
jquery 列表双向选择器之改进版
2013/08/09 Javascript
js获取本机的外网/广域网ip地址完整源码
2013/08/12 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
bootstrap表单示例代码分享
2017/05/18 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
python脚本内运行linux命令的方法
2015/07/02 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
社区十八大感言
2014/01/19 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
教师远程培训感言
2014/03/06 职场文书
2015年小学财务工作总结
2015/07/20 职场文书
情人节单身感言
2015/08/03 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书