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 相关文章推荐
window.event快达到全浏览器支持了,以后使用就方便了
Nov 30 Javascript
关于图片的预加载过程中隐藏未知的
Dec 19 Javascript
一个简单的JS鼠标悬停特效具体方法
Jun 17 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
js动态删除div元素基本思路及实现代码
May 08 Javascript
全面解析Bootstrap排版使用方法(文字样式)
Nov 30 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
Jun 08 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
Sep 29 Javascript
vue.js做一个简单的编辑菜谱功能
May 08 Javascript
create-react-app中添加less支持的实现
Nov 15 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
php 文件夹删除、php清除缓存程序
2009/08/25 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
深入浅析JS的数组遍历方法(推荐)
2016/06/15 Javascript
JS获取和修改元素样式的实例代码
2016/08/06 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
详解vue后台系统登录态管理
2019/04/02 Javascript
js中async函数结合promise的小案例浅析
2019/04/14 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python获取多线程及子线程的返回值
2017/11/15 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
python通用读取vcf文件的类(复制粘贴即可用)
2020/02/29 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
Html5 video标签视频的最佳实践
2020/02/26 HTML / CSS
用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?
2014/01/05 面试题
了解AppleShare protocol(AppleShare协议)吗
2015/08/28 面试题
给同学的道歉信
2014/01/16 职场文书
玲玲的画教学反思
2014/02/04 职场文书
哈弗商学院毕业生求职信
2014/02/26 职场文书
小学数学教研活动总结
2014/07/01 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis