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 相关文章推荐
Javascript中string转date示例代码
Nov 01 Javascript
单元选择合并变色示例代码
May 26 Javascript
javascript函数式编程实例分析
Apr 25 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
AngularJS实现元素显示和隐藏的几个案例
Dec 09 Javascript
js实现定时进度条完成后切换图片
Jan 04 Javascript
JS实现简易刻度时钟示例代码
Mar 11 Javascript
jQuery插件之validation插件
Mar 29 jQuery
前端常见跨域解决方案(全)
Sep 19 Javascript
React 路由懒加载的几种实现方案
Oct 23 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
Mar 10 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 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去除二维数组的重复项方法
2015/11/03 PHP
prototype1.4中文手册
2006/09/22 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
JsRender实用入门教程
2014/10/31 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
React Native 混合开发多入口加载方式详解
2019/09/23 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python 元类使用说明
2009/12/18 Python
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
Python+Wordpress制作小说站
2017/04/14 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
解锁canvas导出图片跨域的N种姿势小结
2019/01/24 HTML / CSS
文秘专业自荐信
2013/10/14 职场文书
思想专业自荐信范文
2013/12/25 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
2014年防汛工作总结
2014/12/08 职场文书
小学作文之描写天气
2019/08/15 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
总结高并发下Nginx性能如何优化
2021/11/01 Servers
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android