import { defineConfig } from 'vite'
import { resolve } from 'path'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from 'vite-plugin-mock'
import viteSvgIcons from 'vite-plugin-svg-icons'
// https://vitejs.dev/config/
export default defineConfig(({ command }) => {
const prodMock = true
return {
base: '/', // 开发或生产环境服务的 公共基础路径。
plugins: [
vue(),
viteMockServe({
supportTs: false,
mockPath: 'mock',
localEnabled: command === 'serve',
prodEnabled: command !== 'serve' && prodMock,
injectCode: `
import { setupProdMockServer } from './mockProdServer';
setupProdMockServer();
`
}),
viteSvgIcons({
// 指定需要缓存的图标文件夹
iconDirs: [resolve(process.cwd(), 'src/icons')],
// 指定symbolId格式
symbolId: 'icon-[dir]-[name]'
})
],
resolve: {
alias: {
'@': resolve('./src'),
'@img': resolve('./src/assets/img')
}
},
// 打包配置
build: {
// 设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值——'modules',这是指 支持原生 ES 模块的浏览器。
// target: 'es2015',
// 指定生成静态资源的存放路径(相对于 build.outDir)。
// outDir: 'dist',
// 指定生成静态资源的存放路径(相对于 build.outDir)。
// assetsDir: 'assets',
/**
* 构建后是否生成 source map 文件。如果为 true,
* 将会创建一个独立的 source map 文件。如果为 'inline',
* source map 将作为一个 data URI 附加在输出文件中。'hidden' 的工作原理与 'true' 相似
* ,只是 bundle 文件中相应的注释将不被保留。
*/
// sourcemap: false,
terserOptions: {
/**
* command 用来判断环境
*/
compress: {
drop_console: command !== 'serve',
// 默认是true
drop_debugger: command !== 'serve'
}
}
},
server: {
host: '0.0.0.0',
port: 7001,
open: false,
proxy: {
'/api': 'http://10.10.10.90:8224'
}
}
}
})
vite 配置打包之后去掉console 和 debugger
最新推荐文章于 2024-06-29 12:34:24 发布