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 相关文章推荐
document.all与WEB标准
May 13 Javascript
JS 类型转换常见方法小结
May 31 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
给文字加上着重号的JS代码
Nov 12 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
Jun 27 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
微信小程序 加载 app-service.js 错误解决方法
Oct 12 Javascript
8 行 Node.js 代码实现代理服务器
Dec 05 Javascript
COM组件中调用JavaScript函数详解及实例
Feb 23 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
微信小程序实现上传图片裁剪图片过程解析
Aug 22 Javascript
JavaScript实现刮刮乐效果
Nov 01 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
mysql limit查询优化分析
2008/11/12 PHP
php Memcache 中实现消息队列
2009/11/24 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
Add a Formatted Table to a Word Document
2007/06/15 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
swiper实现异形轮播效果
2019/11/28 Javascript
基于原生JS封装的Modal对话框插件的示例代码
2020/09/09 Javascript
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python中使用装饰器来优化尾递归的示例
2016/06/18 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
使用tensorflow进行音乐类型的分类
2020/08/14 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
成人大专自我鉴定范文
2013/10/19 职场文书
书法培训心得体会
2014/01/05 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
小学数学课题方案
2014/06/15 职场文书
小学开学标语
2014/07/01 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
Django migrate报错的解决方案
2021/05/20 Python