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

相关推荐
计算机魔术师4 分钟前
Google 一天蒸发5000亿,Reddit 靠 AI 训练喂得饱自己却饿死
前端
小大宇11 分钟前
Vue知识点-ElementPlus-05 输入框
前端·javascript·vue.js
l1m0_32 分钟前
AI设计工具有哪些?Paico、Pixso AI、墨刀AI、Lovable、Codex怎么选
前端·人工智能·ai·设计·墨刀·codex·pixso
web打印社区34 分钟前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
西瓜拿铁好喝40 分钟前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
IT_陈寒40 分钟前
深入理解SpringBoot:核心原理与最佳实践
前端·人工智能·后端
风骏时光牛马1 小时前
大模型综合能力多维评测:性能、逻辑与落地表现对比
前端
liuchangng1 小时前
React 19 + Vite 6 实战:从教材 PDF 到 866 词间隔重复单词 App
前端·react.js·pdf·vite·开源项目
Dwzun1 小时前
基于SpringBoot3+Vue3的油莎豆种植管理系统
java·前端·vue.js·spring boot·后端·python·计算机网络
小码哥_常7 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端