第八章-CSS样式管理

167 阅读1分钟

CSS样式管理

css 预处理器

这里我们选择的是sass/scss

npm install --save-dev sass

样式目录结构

variables.scss // 全局Sass变量
mixin.scss // 全局混入 mixin
common.scss // 全局公共样式
transition.scss // 全局过度动画样式
index.scss // 组织统一导出

常见的工作流是,全局样式都写在src/styles目录下,每个页面自己对应的样式都写在自己的.vue文件之中。

normalize.css

安装normalize.css,用来清除浏览器的默认样式,然后在index.scss中引入。

pnpm add normalize.css

// index.scss
@use 'normalize.css';

image.png 然后在main.ts中引入index.scss即可。

如果想在组件中使用全局css变量的话,需要在组件中单独引入全局变量的.scss文件。

css.preprocessorOptions

vite官方提供了指定传递给 CSS 预处理器的选项,所有预处理器选项还支持 additionalData 选项,可以用于为每个样式内容注入额外代码。只要将全局变量的.scss文件的路径作为 additionalData 的value就可以不用再在每一个组件中都去引入一次了,就相当于全局加载了scss变量的文件。

import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    vue(),
    eslint({
      cache: false
    })
  ],
  resolve: {
    // 路径别名
    alias: [{ find: '@', replacement: pathResolve('src') }]
  },
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: '@use "@/styles/variables.scss" as *;'
      }
    }
  }
})