中航光电热表web
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.
 
 
 
 

92 lines
2.5 KiB

import { defineConfig, loadEnv } from "vite";
import { resolve } from "path";
import path from "path";
import createVitePlugins from "./vite/plugins";
import { createSvgIconsPlugin } from "vite-plugin-svg-icons";
// https://vitejs.dev/config/
export default ({ mode, command }) => {
const env = loadEnv(mode, process.cwd());
const { VITE_APP_ENV, VITE_APP_BASE } = env;
// 判断是打生产环境包
const isProd = VITE_APP_ENV === "production";
// 根据是否生产环境,动态设置压缩配置
const buildConfig = {
target: "esnext",
minify: isProd ? "terser" : "esbuild", // 根据环境选择压缩工具
};
// 如果是生产环境,添加Terser的配置
if (isProd) {
buildConfig.terserOptions = {
compress: {
drop_console: true, // 删除 console
drop_debugger: true, // 删除 debugger
},
format: {
comments: false, // 删除所有注释
},
};
buildConfig.rollupOptions = {
output: {
manualChunks: {
"element-plus": ["element-plus"],
"@smallwei/avue": ["@smallwei/avue"],
},
},
};
}
return defineConfig({
base: VITE_APP_BASE,
define: {
__VUE_I18N_FULL_INSTALL__: true,
__VUE_I18N_LEGACY_API__: true,
__INTLIFY_PROD_DEVTOOLS__: false,
},
server: {
port: 2888,
proxy: {
"/api": {
// target: "http://192.168.1.5:82",
// target: "http://192.168.1.4:82",
// target:'http://49.232.74.228:82',
target: "http://192.168.0.120",
//target: 'https://saber3.bladex.cn/api',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ""),
},
},
},
resolve: {
alias: {
"~": resolve(__dirname, "./"),
"@": resolve(__dirname, "./src"),
components: resolve(__dirname, "./src/components"),
styles: resolve(__dirname, "./src/styles"),
utils: resolve(__dirname, "./src/utils"),
},
},
css: {
preprocessorOptions: {
scss: {
api: "modern-compiler",
additionalData: `@use "@/styles/variables.scss" as *;`,
},
},
},
plugins: [
createVitePlugins(env, command === "build"),
createSvgIconsPlugin({
iconDirs: [path.resolve(process.cwd(), "src/assets/svg")],
symbolId: "icon-[dir]-[name]",
}),
],
build: buildConfig,
optimizeDeps: {
esbuildOptions: {
target: "esnext",
},
},
});
};