2 Star 7 Fork 0

misaka10032 / vite-element-template

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
vite.config.js 2.41 KB
一键复制 编辑 原始数据 按行查看 历史
misaka10032 提交于 2022-05-17 11:11 . 修复SVG显示
import { resolve } from 'path'
import { defineConfig, loadEnv } from 'vite'
import { createVuePlugin } from 'vite-plugin-vue2'
import vueJsx from '@vitejs/plugin-vue-jsx'
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
import compressPlugin from 'vite-plugin-compression'
// compress: 'gzip' | 'brotli' | 'none'
function configCompressPlugin(isBuild, compress) {
const plugins = []
if (!isBuild) return plugins
const compressList = compress.split(',')
if (compressList.includes('gzip')) {
plugins.push(
compressPlugin({
verbose: true,
disable: false,
threshold: 10240,
algorithm: 'gzip',
ext: '.gz'
})
)
}
if (compressList.includes('brotli')) {
plugins.push(
compressPlugin({
verbose: true,
disable: false,
threshold: 10240,
algorithm: 'brotliCompress',
ext: '.br'
})
)
}
return plugins
}
export default ({ mode }) => {
const isBuild = mode === 'production' // mode == production
const port = loadEnv(mode, process.cwd()).PORT || 9528 // dev port
return defineConfig({
plugins: [
createVuePlugin(),
vueJsx(),
createSvgIconsPlugin({
iconDirs: [resolve(process.cwd(), 'src/icons/svg')],
symbolId: 'icon-[dir]-[name]'
}),
...configCompressPlugin(isBuild, 'gzip')
],
resolve: {
alias: {
'@': resolve(__dirname, './src')
}
},
base: '/',
server: {
port,
open: true,
hmr: { overlay: false }
},
build: {
outDir: 'dist',
assetsDir: 'static',
sourcemap: false,
chunkSizeWarningLimit: 1000,
rollupOptions: {
output: {
chunkFileNames: 'static/js/[name]-[hash].js',
entryFileNames: 'static/js/[name]-[hash].js',
assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
manualChunks(id) { // 静态资源分拆打包
if (id.includes('node_modules')) {
return id.toString().split('node_modules/')[1].split('/')[0].toString()
}
}
}
},
minify: 'terser',
terserOptions: {
compress: {
drop_console: isBuild, // 打包时删除log
drop_debugger: isBuild, // 打包时删除debugger
pure_funcs: isBuild ? ['console.log'] : []
},
output: {
comments: isBuild // 去掉注释
}
}
}
})
}
1
https://gitee.com/mi-sa-ka10032/vite-element-template.git
git@gitee.com:mi-sa-ka10032/vite-element-template.git
mi-sa-ka10032
vite-element-template
vite-element-template
master

搜索帮助