记录一下vue如何全局引入scss变量
开始
首先一些普通的css,可以在App.vue中引入
然后项目中会经常用到一些功能型的scss,比如mixin,和函数等,这个时候在main.js 和app.vue 是无效的。
首先查看自己的 sass和sass-loader版本,注意sass-loader的安装版本,如果是v8的版本使用prependDatea,以上的版本使用additionalData(翻译:额外的)的配置项
先创建variables.scss文件
在vue.config.js配置文件中添加如下代码:
const { defineConfig } = require('@vue/cli-service')
const path = require('path')
module.exports = defineConfig({
//使用es6相关的依赖
transpileDependencies: true,
// 关闭检查代码格式
lintOnSave: true,
chainWebpack: config => {
// eslint-disable-next-line no-unused-expressions
config.resolve.alias
.set('@', path.join(__dirname, 'src'))
.set('_views', path.join(__dirname, 'src/views'))
.set('_components', path.join(__dirname, 'src/components'))
.set('_api', path.join(__dirname, 'src/api'))
.set('_utils', path.join(__dirname, 'src/utils'))
.set('_style', path.join(__dirname, 'src/style'))
},
css: {
loaderOptions: {
scss: {
additionalData: `
@import "@/style/common.scss";
@import '@/style/class.scss';
@import '@/style/variable.scss';
`,
},
},
}
})
css: {
loaderOptions: {
scss: {
// 如果版本较低请使用prependDatea
additionalData: `
@import '@/style/variable.scss';
`,
},
},
}
配置好后,就可以在各个组件中使用了!