You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
memos/web/vite.config.ts

62 lines
1.6 KiB
TypeScript

import react from "@vitejs/plugin-react";
import { codeInspectorPlugin } from "code-inspector-plugin";
import { resolve } from "path";
3 years ago
import { defineConfig } from "vite";
let devProxyServer = "http://localhost:8081";
if (process.env.DEV_PROXY_SERVER && process.env.DEV_PROXY_SERVER.length > 0) {
console.log("Use devProxyServer from environment: ", process.env.DEV_PROXY_SERVER);
devProxyServer = process.env.DEV_PROXY_SERVER;
}
3 years ago
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
codeInspectorPlugin({
bundler: "vite",
}),
],
3 years ago
server: {
host: "0.0.0.0",
port: 3001,
3 years ago
proxy: {
"^/api": {
target: devProxyServer,
xfwd: true,
3 years ago
},
"^/memos.api.v1": {
target: devProxyServer,
xfwd: true,
},
"^/file": {
target: devProxyServer,
xfwd: true,
},
3 years ago
},
},
resolve: {
alias: {
"@/": `${resolve(__dirname, "src")}/`,
},
},
build: {
rollupOptions: {
output: {
entryFileNames: "assets/app.[hash].js",
chunkFileNames: "assets/[name].[hash].js",
assetFileNames: "assets/[name].[hash][extname]",
manualChunks: {
"react-vendor": ["react", "react-dom", "react-router-dom"],
"mui-vendor": ["@mui/joy", "@emotion/react", "@emotion/styled"],
"utils-vendor": ["dayjs", "lodash-es", "mobx", "mobx-react-lite"],
"katex-vendor": ["katex"],
"highlight-vendor": ["highlight.js"],
"mermaid-vendor": ["mermaid"],
"leaflet-vendor": ["leaflet", "react-leaflet"],
},
},
},
},
3 years ago
});