# Vue项目添加CSS
# 一、公共样式
在项目中,我们把公共样式统一放在assets/css下,比如项目的reset.css文件、公共文件common.css,然后分别在main.js中引入。
# 二、添加CSS预处理
vue-cli使用sass或者less在创建项目时会有选择添加选项,如果没有选择也可以自己安装,然后在 vue.config.js的 css 选项中配置 less/sass全局使用变量就可以了。
# 1、安装
// Less
npm install -D less-loader less
// Sass
npm install -D sass-loader sass
// 其他
npm install -D postcss
npm install -D postcss-loader
npm install -D style-resources-loader
npm install -D vue-cli-plugin-style-resources-loader
# 2、定义全局样式
less或者sass如果公共文件过多,我们可以通过@import 引入到一个文件中,然后统一在vue.config.js进行引入。
├── less
│ ├── _flex.less # flex布局样式
│ ├── _common.less # 公共样式
│ └── main.less # less主文件
// main.less
// 自定义公共样式
@import "./_flex.less";
@import "./_common.less";
配置less全局使用
// vue.config.js
const path = require("path");
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
// 全局配置less
css: {
loaderOptions: {
less: {
lessOptions: {
// DO NOT REMOVE THIS LINE
javascriptEnabled: true,
globalVars: {
// less vars,customize ant design theme
// 'primary-color': '#F5222D',
}
}
}
}
},
pluginOptions: {
'style-resources-loader': {
preProcessor: 'less',
patterns: [path.resolve(__dirname, './src/assets/less/main.less')]
}
}
})
配置sass全局使用
// vue.config.js
const path = require("path");
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
// 全局配置sass
css: {
loaderOptions: {
sass: {
// @是src的别名
prependData: `@import "@/assets/sass/main.scss"`
},
scss: {
prependData: `@import "@/assets/sass/main.scss";`
}
}
}
})