nuxt项目中引用less/scss全局变量

2023-11-08

nuxt项目中有些样式需要经常使用,并且未来有可能会改,比如主题色@theme-color,所以希望在一个地方定义后,后面直接引用变量即可。但是正常使用时,less的变量是不能跨文件使用的,下面使用@nuxtjs/style-resources来把变量注入到项目中的所有文件。

1、安装less依赖

npm install less less-loader --save

2、安装style-resources

npm install @nuxtjs/style-resources --save

如果是yarn如下

yarn add less-loader less
yarn add @nuxtjs/style-resources

3、配置nuxt.config.js,添加@nuxtjs/style-resources模块和全局变量文件

export default { 
    ...
 modules: [
    '@nuxtjs/style-resources'
  ],
  styleResources: {
    less: '@/assets/vars.less'
  }
    ...
}

less有多个,可以使用数组,即less:[xxx.less,yyy.less]

然后全项目都可以使用vars.less模块定义的变量了

例如:

vars.less

@theme-color: #c91c1c;

index.vue

<template>
  <section>index</section>
</template>

<script>
export default {
  name: 'index'
}
</script>

<style scoped lang="less">
    section{
        color: @theme-color;
    }
</style>

css.css

.theme-color{
  color: @theme-color;
}

其他

scss如下配置
export default {
  modules: ['@nuxtjs/style-resources'],
  styleResources: {
    scss: [
      '@/assets/vars1.scss',
      '@/assets/vars2.scss' 
      ]
  }
}
来个全的:
export default {
  modules: [
    '@nuxtjs/style-resources',
  ], 
  styleResources: {
   sass: [],
   scss: [],
   less: [],
   stylus: []
  }
}

使用css3的var()函数

var() 函数用于插入自定义的属性值,webkit内核浏览器很好用,但是IE15才支持。使用它可以不用安装依赖了

语法
var(custom-property-name, value)
描述
custom-property-name 必需。自定义属性的名称,必需以 – 开头。
value 可选。备用值,在属性不存在的时候使用。
使用:root伪类来使变量全局可用
:root{
    --theme-color: #c91c1c;
}
然后就可以使用了
.section{
    color:var(--theme-color)
}
还可以使用js动态改变它
function changeColor(color = 'blue') {
	document.documentElement.style.setProperty("--theme-color",color);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nuxt项目中引用less/scss全局变量 的相关文章

随机推荐

  • JavaScript复习之特殊的对象-数组

    数组的创建 字面量方式创建数组 var arr1 空数组 创建一个包含3个数值的数组 多个数组项以逗号隔开 var arr2 1 3 4 创建一个包含2个字符串的数组 var arr3 a c console log arr1 consol
  • Spring-boot返回Json格式数据

    Spring boot返回Json格式数据 Spring boot返回json用到的注解为 RestController 新建一个maven项目 编写pom xml文件
  • python 引用(import)文件夹下的py文件的方法

    Python包含子目录中的模块方法比较简单 关键是能够在sys path里面找到通向模块文件的路径 下面将具体介绍几种常用情况 1 主程序与模块程序在同一目录下 如下面程序结构 src mod1 py test1 py 若在程序test1
  • 【死磕 Redis】----- Redis 数据结构: skiplist

    原文 https www cmsblogs com category 1391389927996002304 chenssy 关于跳跃表其实在 JUC 里面有一个并发容器就是利用跳跃表来实现的 ConcurrentSkipListMap 死
  • python开发_常用的python模块及安装方法

    adodb 我们领导推荐的数据库连接组件 bsddb3 BerkeleyDB的连接组件 Cheetah 1 0 我比较喜欢这个版本的cheetah cherrypy 一个WEB framework ctypes 用来调用动态链接库 DBUt
  • SpringBoot2.0(Spring读取配置文件常用方法,打war包在Tomcat中启动)

    目录 一 SpringBoot中读取配置文件的常用方法 1 1 使用 Value读取 1 2 使用 ConfigurationProperties 1 3 使用Environment 1 4 自定义配置文件读取 二 SpringBoot部署
  • 直接修改html文本页面没变化,DOM问题:点击按钮的时候,修改input元素的value属性值,为什么在HTML结构上没有变化?...

    代码 无标题文档 span background lime window nl ad function 获取input span var oTxt document getElementsByTagName input 0 var oBtn
  • 什么是元宇宙:我们在哪里,我们要去哪里

    自Facebook于 2021 年 10 月 28 日更名为 Meta 以来 启发新名称的模糊概念一直是讨论的热门话题 虽然元宇宙似乎是 Meta 野心的产物 但事实并非如此 一些人会争辩说 马克扎克伯格在Connect 2021会议主题演
  • 基于 FFmpeg 的跨平台视频播放器简明教程(六):使用 SDL 播放音频和视频

    系列文章目录 基于 FFmpeg 的跨平台视频播放器简明教程 一 FFMPEG Conan 环境集成 基于 FFmpeg 的跨平台视频播放器简明教程 二 基础知识和解封装 demux 基于 FFmpeg 的跨平台视频播放器简明教程 三 视频
  • qt透明度设置

    QPaintEvent QPainter painter this painter setRenderHint QPainter Antialiasing painter setBrush m color painter setPen Qt
  • MySQL的优化

    目录 一 概念 二 查看SQL执行频率 三 定位低效率执行SQL 定位低效率执行SQL 慢查询日志 操作 定位低效率执行SQL show processlist 四 explain分析执行计划 字段说明 explain中的id explai
  • STM32+LittleVgl(LVGL)文件系统使用

    目录 一 硬件及软件准备 二 前言 三 显示效果 四 移植文件到工程目录下 五 将文件添加进工程中 六 使能文件 七 修改 lv port fs c 文件 八 修改main c 九 将图片资源拷贝到外部存储器中 一 硬件及软件准备 完整工程
  • 【迪文屏】踩坑指南——汉字显示乱码、背景图不显示问题的解决方法

    迪文屏支持的字库文件有HZK DZK Bin格式 迪文屏文字乱码请按下图中步骤一个个排查 迪文屏更改背景显示不出来可能是未生成icl文件或者icl文件位置未设置对 所以系统找不到 生成的icl图标库文件后 记得在CFG配置文件更改ILC位置
  • 数据库之DML的基本操作

    DML 数据操作语言 对表记录的操作 增 删 改 1 插入数据 insert into 表名 列名1 列名2 values 列值1 列值2 在表名后给出要插入的列名 其他没有指定的列插入NILL 在values后给出列值 值的顺序和个数必须
  • HTTPS工作原理原理及常见状态码

    HTTPS工作原理原理 简介 HTTPS是常用的web协议 用来交互网页数据 由于HTTP是不加密的 在公网上明文传输 缺少保密性 所以出现了安全加密的HTTP协议 HTTPS协议 HTTPS协议是在SSL协议基础上的HTTP协议 SSL协
  • JVM系列(八) JVM 垃圾收集算法

    前面我们了解了很多JVM配置垃圾回收的方式 但是具体垃圾是如何被回收的 或者说垃圾回收算法有哪些 今天我们文章主要讲解一下垃圾回收算法 1 分代收集理论 我们都知道 很早的JVM会把堆分为几个区域 新生代 老年代 永久代等区域 为什么要这么
  • JSP详细讲解

    JSP详细讲解 前言 一 JSP 介绍 二 JSP 运行原理 1 JSP 技术特点 2 JSP 与 Servlet 区别 三 JSP 的使用 1 JSP 的三种原始标签 2 JSP 原始标签的使用 3 JSP 的指令标签 4 JSP 指令标
  • 王爽汇编语言课程设计1

    一 实验要求 在屏幕输出实验七中的数据 二 设计思路 1 将实验七的程序编写成一个子过程finishing 在主程序中调用 可以获得实验七种指定格式的table段数据 设置es bx指向table段中第一行 2 创建一个数据缓存区buffe
  • 双电源切换电路的几种方案

    一 使用两个二极管 VBUS和VBAT单独供电的情况很好理解 由于二极管的单向性 不会发生电流的倒灌 当VBUS和VBAT都有电时 VBUS为5V VBAT为3 7V 此时D17处于反向截至状态 只有VBUS输出但VOUT 优点是方案简单
  • nuxt项目中引用less/scss全局变量

    nuxt项目中有些样式需要经常使用 并且未来有可能会改 比如主题色 theme color 所以希望在一个地方定义后 后面直接引用变量即可 但是正常使用时 less的变量是不能跨文件使用的 下面使用 nuxtjs style resourc