共计 661 个字符,预计需要花费 2 分钟才能阅读完成。
scss 全局变量配置
今天想在项目中,使用一个全局生效的自定义 scss 变量。$horizontal-min-width: 1303px;
看看整个项目的 scss 引入,创建了一个 main.scss 文件,然后在 main.js 中导入了
import './assets/main.scss'
main.scss 内容:
- 清除浏览器默认样式
- 添加一些全局样式
- 自定义一些样式,可在后文直接通过添加类名使用
失败
想直接在此定义变量,$horizontal-min-width: 1303px;
报错:[plugin:vite:css] [sass] Undefined variable.
然后我又尝试去 App.vue 中引入
还是报错
初步成功
直接引入该文件到 app.vue 或者 main.js 是不生效的,我们需要将其引入到每一个组件的 scss 中去,手动引入也可以实现。
【每次使用都需要引入,太麻烦,想一处定义,一处引入,多处使用】
最终方案
这里我们采用 vue 相关的配置自动引入。
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
export default () => {
return defineConfig({
plugins: [
vue(),
],
css: {
preprocessorOptions: {
scss: {
additionalData: '@import"./src/var.scss";'
}
},
}
})
}
亲测可行
原文地址: scss 全局变量配置
正文完