Vue全局使用less样式,组件使用全局样式文件中定义的变量操作


Posted in Javascript onOctober 21, 2020

当你想要在vue项目的一个组件中使用全局样式文件中定义好的变量,此时只在main.js中import是不行的。

目录结构如下:

Vue全局使用less样式,组件使用全局样式文件中定义的变量操作

即在MHeader.vue中想要使用src下的less下的variables.less文件中定义好的变量。

Vue全局使用less样式,组件使用全局样式文件中定义的变量操作

Vue全局使用less样式,组件使用全局样式文件中定义的变量操作

此时,只用import在main.js中导入variables.less文件是会报错的。

解决办法:

1、安装less和less-loader

npm i less less-loader -D

2、要想全局使用还需使用一个插件( sass-resources-loader ),没有写错,就是sass

npm i sass-resources-loader -D

3、安装完sass-resources-loader后,配置webpack,找到build/utils.js文件,在cssLoaders函数中添加使用全局less函数

Vue全局使用less样式,组件使用全局样式文件中定义的变量操作

// 增加全局使用less函数
 function lessResourceLoader() {
 var loaders = [
  cssLoader,
  'less-loader',
  {
  loader: 'sass-resources-loader',
  options: {
   resources: [
   path.resolve(__dirname, '../src/assets/less/variables.less'), //定义全局变量的文件路径
   ]
  }
  }
 ];
 if (options.extract) {
  return ExtractTextPlugin.extract({
  use: loaders,
  fallback: 'vue-style-loader'
  })
 } else {
  return ['vue-style-loader'].concat(loaders)
 }
 }

并在return中用你定义的lessResourceLoader函数替换less: generateLoaders('less')这个函数。

return {
 css: generateLoaders(),
 postcss: generateLoaders(),
 less: lessResourceLoader('less'),
 sass: generateLoaders('sass', { indentedSyntax: true }),
 scss: generateLoaders('sass'),
 stylus: generateLoaders('stylus'),
 styl: generateLoaders('stylus')
 }

Vue全局使用less样式,组件使用全局样式文件中定义的变量操作

4、完成之后就可以重新运行项目了

npm run dev

补充知识:Vue less使用scope时渗入修改子组件样式

我就废话不多说了,大家还是直接看代码吧~

@aaa: ~'>>>';
.wrap {
  @{aaa} .component1 {
    width: 120px;
  }
/deep/ .component2 {
    width: 130px;

}
}

以上这篇Vue全局使用less样式,组件使用全局样式文件中定义的变量操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
extjs ColumnChart设置不同的颜色实现代码
May 17 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
Ajax提交与传统表单提交的区别说明
Feb 07 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
Nov 02 Javascript
javascript中获取class的简单实现
Jul 12 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
jQuery实现背景滑动菜单
Dec 02 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 Javascript
AngularJS监听ng-repeat渲染完成的方法
Mar 20 Javascript
webpack4之SplitChunksPlugin使用指南
Jun 12 Javascript
angular中子控制器向父控制器传值的实例
Oct 08 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 Javascript
js 图片懒加载的实现
Oct 21 #Javascript
uniapp实现可以左右滑动导航栏
Oct 21 #Javascript
解决vue-loader加载不上的问题
Oct 21 #Javascript
Vue实现返回顶部按钮实例代码
Oct 21 #Javascript
vue将文件/图片批量打包下载zip的教程
Oct 21 #Javascript
uniapp实现可滑动选项卡
Oct 21 #Javascript
element中table高度自适应的实现
Oct 21 #Javascript
You might like
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
自动更新作用
2006/10/08 Javascript
javascript 获取网页参数系统
2008/07/19 Javascript
Javascript this 的一些学习总结
2012/08/02 Javascript
Jquery attr("checked") 返回checked或undefined 获取选中失效
2013/10/10 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
推荐6款基于jQuery实现图片效果插件
2014/12/07 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
禁止按回车键提交表单的方法
2015/06/11 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
transform python环境快速配置方法
2018/09/27 Python
python openpyxl使用方法详解
2019/07/18 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
中国入世承诺
2014/04/01 职场文书
设备售后服务承诺书
2014/05/30 职场文书
中文专业求职信
2014/06/20 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
红白喜事主持词
2015/07/06 职场文书
2016新年晚会开场白
2015/12/03 职场文书