You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
926 B
34 lines
926 B
import { defineConfig } from "vite";
|
|
import vue from "@vitejs/plugin-vue";
|
|
|
|
// 使用函数式配置接收环境模式参数
|
|
export default defineConfig(({ mode }) => ({
|
|
plugins: [
|
|
vue({
|
|
template: {
|
|
compilerOptions: {
|
|
// 保留自定义元素配置
|
|
isCustomElement: tag => tag.startsWith('a-')
|
|
}
|
|
}
|
|
}),
|
|
],
|
|
define: {
|
|
// 注入当前构建模式到应用环境
|
|
__APP_ENV__: JSON.stringify(mode),
|
|
|
|
// 可选:保留原有 process.env 的浏览器环境兼容
|
|
'process.env.NODE_ENV': JSON.stringify(mode)
|
|
},
|
|
|
|
// 其他推荐生产环境配置(根据模式自动生效)
|
|
build: {
|
|
sourcemap: mode === 'development', // 开发模式开启sourcemap
|
|
minify: mode === 'production' ? 'terser' : false,
|
|
terserOptions: {
|
|
compress: {
|
|
drop_console: mode === 'production' // 生产环境移除console
|
|
}
|
|
}
|
|
}
|
|
}));
|