首页 > 其他分享 >Vite-Config

Vite-Config

时间:2022-09-02 18:35:30浏览次数:44  
标签:hash name 模块化 配置 postcss Vite Config css

Vite文档


vite.config.js

  import postcssPresetEnv from 'postcss-preset-env'
  export default defineConfig({
    resolve:{
      alias:{
        "@": path.resolve(__dirname,"./a.js")
      }
    }
    optimizeDeps:{
      excludes:[], //将指定数组中的依赖不进行预构建
    },
    envPrefix: "ENV_", //环境变量前缀
    css:{ //对css的行为进行配置
      // modules配置最终会传给postcss modules
      modules:{ //是对css模块化的默认行为进行覆盖
        localConvention: "camelCase", // 修改生成的配置对象的Key的展示形式(驼峰还是中划线形式)
        scopeBehaviour: "local", // 配置当前模块化行为是模块化还是全局化(有hash就是开启模块化的一个标志,因为他可以保证产生不同的hash值来控制我们的样式类名不被覆盖)
        generateScopedName: "[name]_[local]_[hash:5]", // 生成类名的规则
        generateScopedName: (name,filename,css) => {
          // name -> 代表的是你此刻css文件中的类名
          // filename -> 是你当前css文件的绝对路径
          // css -> 给的就是你当前样式
          // 配置成函数以后,返回值就决定了他最终的显示类型
          return `${name}_${Math.Random().toString()}`
        },
        hashPrefix: "hello", // 生成hash会根据你的类型去进行生成,如果你想你的hash更加独特一些,可以配置hashPrefix
        globalModulePaths:["./component.css"] // 代表你不想参与到CSS模块化的路径
      },
      preprocessOptions:{ //key + config key表示预处理器的名字
        less:{ //整个的配置对象都会最终给到less的执行参数(全局参数)中去
          math: "always",
          globalVars:{ //全局变量
            mainColor: "red"
          }
        },
        sass:{

        }
      },
      devSourceMap:true, // 开启css文件的sourceMap(文件索引)
      postcss:{
        plugins:[postcssPresetEnv({
          importForm: path.resolve(__dirname,"./variable.css") // 就好比你现在让postcss去知道,有一些全局变量他需要优先导入
        })]
      }
    },
  })

标签:hash,name,模块化,配置,postcss,Vite,Config,css
From: https://www.cnblogs.com/leeSeeN/p/16650899.html

相关文章