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中Eval函数的使用说明
Oct 11 Javascript
判断浏览器的javascript版本的代码
Sep 03 Javascript
JS去除右边逗号的简单方法
Jul 03 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
JavaScript中提前声明变量或函数例子
Nov 12 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
Jun 23 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
Node.js npm命令运行node.js脚本的方法
Oct 10 Javascript
React Component存在的几种形式详解
Nov 06 Javascript
vue配置多代理服务接口地址操作
Sep 08 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分页时出现的Fatal error的解决方法
2011/04/18 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
摘自百度的图片轮换效果代码
2007/11/19 Javascript
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
JavaScript是如何实现继承的(六种方式)
2016/03/31 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
JS中判断null的方法分析
2016/11/21 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
webpack学习笔记之优化缓存、合并、懒加载
2017/08/24 Javascript
js的函数的按值传递参数(实例讲解)
2017/11/16 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
Python-基础-入门 简介
2014/08/09 Python
Python中文件的读取和写入操作
2018/04/27 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Python获取excel内容及相关操作代码实例
2020/08/10 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
留学推荐信写作指南
2014/01/25 职场文书
医疗纠纷协议书
2014/04/16 职场文书
高中学生期末评语
2014/04/25 职场文书
乡镇领导班子四风对照检查材料
2014/09/27 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
小学国庆节活动总结
2015/03/23 职场文书
硕士论文致谢范文
2015/05/14 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书
用Python实现一个打字速度测试工具来测试你的手速
2021/05/28 Python
利用Python多线程实现图片下载器
2022/03/25 Python