Vue项目自动注入less、sass、scss、stylus全局变量

一、Vue2项目

javascript 复制代码
// vue.config.js
const path = require('path')
module.exports = {
  css: {
    loaderOptions: {
      // 给 sass-loader 传递选项
      sass: {
        // @/ 是 src/ 的别名
        // 所以这里假设有 `src/assets/style/var.sass` 这个文件
        // 注意:在 sass-loader v8 中,这个选项名是 "prependData"
        additionalData: `@import "~@/assets/style/var.sass"`
      },
      // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
      // 因为 `scss` 语法在内部也是由 sass-loader 处理的
      // 但是在配置 `prependData` 选项的时候
      // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号
      // 在这种情况下,我们可以使用 `scss` 选项,对 `scss` 语法进行单独配置
      scss: {
        additionalData: `@import "~@/assets/style/var.scss";`
      },
      // 
      less:{
        additionalData: `@import "~@/assets/style/var.less";`
      },
      stylus: {
        import: path.join(__dirname, './src/assets/style/var.styl')
      }
    }
  }
}

官方文档:CSS 相关 | Vue CLI

二、Vue3项目

javascript 复制代码
import { fileURLToPath, URL } from 'node:url'
import path from 'path'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue()
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url)),
    }
  },
  css: {
    preprocessorOptions: {
      less: {
        additionalData: `@import "@/assets/style/var.less";`,
      },
      sass: {
        additionalData: `@import "@/assets/style/var.sass"`,
      },
      scss: {
        additionalData: `@import "@/assets/style/var.scss";`,
      },
      stylus: {
        imports: [path.resolve(__dirname, './src/assets/style/var.styl')]
      }
    },
  }
})

2024-4-9

相关推荐
爱喝白开水a1 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌411 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
EHagSJVNpTY1 小时前
基于樽海鞘算法(SSA)的极限学习机(ELM)回归预测对比:BP、GRNN、ELM与SSA - ELM
scss
吃杠碰小鸡2 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone2 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_09013 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
我是伪码农3 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king3 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵4 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_4 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js