2024-01-04 09:02:38 +08:00
|
|
|
|
import { defineConfig, loadEnv } from "vite";
|
|
|
|
|
import vue from "@vitejs/plugin-vue";
|
|
|
|
|
import eslintPlugin from "vite-plugin-eslint";
|
|
|
|
|
import AutoImport from "unplugin-auto-import/vite";
|
|
|
|
|
import Components from "unplugin-vue-components/vite";
|
|
|
|
|
import {
|
|
|
|
|
ElementPlusResolver,
|
|
|
|
|
VantResolver,
|
|
|
|
|
} from "unplugin-vue-components/resolvers";
|
|
|
|
|
// import basicSsl from "@vitejs/plugin-basic-ssl";
|
|
|
|
|
import removeConsole from "vite-plugin-remove-console";
|
|
|
|
|
import EnhanceLog from "vite-plugin-enhance-log";
|
2024-04-12 10:26:05 +08:00
|
|
|
|
import { envParse } from "vite-plugin-env-parse";
|
2024-01-04 09:02:38 +08:00
|
|
|
|
|
|
|
|
|
export default ({ mode }) => {
|
|
|
|
|
return defineConfig({
|
|
|
|
|
plugins: [
|
|
|
|
|
vue(),
|
2024-04-12 10:26:05 +08:00
|
|
|
|
envParse(),
|
2024-01-04 09:02:38 +08:00
|
|
|
|
eslintPlugin(),
|
|
|
|
|
removeConsole({
|
|
|
|
|
includes: [
|
|
|
|
|
"assert",
|
|
|
|
|
"clear",
|
|
|
|
|
"count",
|
|
|
|
|
"countReset",
|
|
|
|
|
"createTask",
|
|
|
|
|
"debug",
|
|
|
|
|
"dir",
|
|
|
|
|
"dirxml",
|
|
|
|
|
"error",
|
|
|
|
|
"group",
|
|
|
|
|
"groupCollapsed",
|
|
|
|
|
"groupEnd",
|
|
|
|
|
"info",
|
|
|
|
|
"log",
|
|
|
|
|
"profile",
|
|
|
|
|
"profileEnd",
|
|
|
|
|
"table",
|
|
|
|
|
"time",
|
|
|
|
|
"timeEnd",
|
|
|
|
|
"timeLog",
|
|
|
|
|
"timeStamp",
|
|
|
|
|
"trace",
|
|
|
|
|
"warn",
|
|
|
|
|
],
|
|
|
|
|
}),
|
|
|
|
|
AutoImport({
|
|
|
|
|
resolvers: [ElementPlusResolver()],
|
|
|
|
|
}),
|
|
|
|
|
Components({
|
|
|
|
|
resolvers: [ElementPlusResolver(), VantResolver()],
|
|
|
|
|
}),
|
|
|
|
|
EnhanceLog({
|
|
|
|
|
preTip: "🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀",
|
|
|
|
|
}),
|
|
|
|
|
// basicSsl(),
|
|
|
|
|
],
|
|
|
|
|
server: {
|
|
|
|
|
// https: true,
|
|
|
|
|
host: true, // 本机的局域网IP,不然其他人无法通过IP访问到,0.0.0.0或true会自动获取本机的IP
|
|
|
|
|
port: 8099, // 端口号
|
|
|
|
|
open: true, // 是否自动打开浏览器
|
|
|
|
|
proxy: {
|
|
|
|
|
[loadEnv(mode, process.cwd()).VITE_PROXY]: {
|
|
|
|
|
target: loadEnv(mode, process.cwd()).VITE_BASE_URL,
|
|
|
|
|
changeOrigin: true,
|
|
|
|
|
ws: true,
|
|
|
|
|
rewrite: (path) => path.replace(/^\/api/, ""),
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
resolve: {
|
|
|
|
|
alias: {
|
|
|
|
|
"@": "/src", // 别名,@代表src目录
|
|
|
|
|
},
|
|
|
|
|
extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], // 引入文件时哪些后缀名可以不写
|
|
|
|
|
},
|
|
|
|
|
build: {
|
|
|
|
|
rollupOptions: {
|
|
|
|
|
// 打包多个入口文件
|
|
|
|
|
// input: {
|
|
|
|
|
// admin: path.resolve(__dirname, "index.html"),
|
|
|
|
|
// 其它入口文件路径需要为src/views/*/index.html
|
|
|
|
|
// },
|
|
|
|
|
output: {
|
|
|
|
|
chunkFileNames: "static/js/[name]-[hash].js",
|
|
|
|
|
entryFileNames: "static/js/[name]-[hash].js",
|
|
|
|
|
assetFileNames: "static/[ext]/name-[hash].[ext]",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
};
|