vite2 基础配置记录
import { defineConfig } from "vite" ;
import vue from "@vitejs/plugin-vue" ;
import path from "path" ;
import styleImport from "vite-plugin-style-import" ;
import viteCompression from "vite-plugin-compression" ;
const resolve = ( dir: string) => path. join ( __dirname, dir) ;
export default defineConfig ( {
publicDir: "public" ,
resolve: {
alias: {
"@" : resolve ( "src" ) ,
} ,
} ,
css: {
preprocessorOptions: {
scss: {
additionalData: `@use './src/assets/styles/var.scss';
@use './src/assets/styles/common.scss';` ,
} ,
} ,
} ,
server: {
host: "0.0.0.0" ,
port: 3333 ,
open: true ,
strictPort: true ,
proxy: {
} ,
} ,
build: {
target: "es2020" ,
outDir: "dist" ,
assetsDir: "assets" ,
cssCodeSplit: true ,
sourcemap: false ,
terserOptions: {
compress: {
drop_console: true ,
drop_debugger: true ,
} ,
} ,
} ,
plugins: [
vue ( ) ,
viteCompression ( {
verbose: true ,
disable: false ,
threshold: 10240 ,
algorithm: "gzip" ,
ext: ".gz" ,
} ) ,
styleImport ( {
libs: [
{
libraryName: "element-plus" ,
esModule: true ,
ensureStyleFile: true ,
resolveStyle: ( name) => {
name = name. slice ( 3 ) ;
return `element-plus/packages/theme-chalk/src/ ${ name} .scss` ;
} ,
resolveComponent: ( name) => {
return `element-plus/lib/ ${ name} ` ;
} ,
} ,
] ,
} ) ,
] ,
} ) ;
注意: 需要安装的插件