本地 RAG 知识库
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.
 
 
 
 
 
 

78 lines
2.4 KiB

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { TDesignResolver } from 'unplugin-vue-components/resolvers'
// Node 20.18 for Windows 缺少 getRandomValues,手动 polyfill
import crypto from 'node:crypto'
if (!globalThis.crypto) {
(globalThis as any).crypto = crypto
}
if (!(globalThis.crypto as any).getRandomValues) {
(globalThis.crypto as any).getRandomValues = (arr: Uint8Array) => crypto.randomFillSync(arr)
}
export default defineConfig({
plugins: [
vue(),
// TDesign 按需自动引入
AutoImport({
resolvers: [TDesignResolver({ library: 'vue-next' })],
}),
Components({
resolvers: [TDesignResolver({ library: 'vue-next' })],
}),
],
// 同源部署:资源使用绝对路径 /
base: '/',
resolve: {
alias: {
'@': resolve(__dirname, 'src'),
},
},
build: {
outDir: 'dist',
assetsDir: 'assets',
rollupOptions: {
output: {
// 拆出独立 chunk,浏览器可长期缓存
manualChunks: {
'tdesign': ['tdesign-vue-next'],
'echarts': ['mermaid'], // mermaid 体积较大,独立打包
},
},
},
},
server: {
port: 5173,
proxy: {
// 开发阶段:API 请求代理到 Spring Boot 后端 9090
'/ai': 'http://localhost:9090',
'/auth': 'http://localhost:9090',
'/category': 'http://localhost:9090',
'/conversation': 'http://localhost:9090',
'/dashboard': 'http://localhost:9090',
'/document': 'http://localhost:9090',
'/faq': 'http://localhost:9090',
'/feedback': 'http://localhost:9090',
'/model-config': 'http://localhost:9090',
'/sensitive-word': 'http://localhost:9090',
'/upload': 'http://localhost:9090',
'/api-key': 'http://localhost:9090',
'/webhook': 'http://localhost:9090',
'/mcp-server': 'http://localhost:9090',
'/system-config': 'http://localhost:9090',
'/sys-user': 'http://localhost:9090',
'/sys-role': 'http://localhost:9090',
'/tag': 'http://localhost:9090',
'/open-api': 'http://localhost:9090',
'/sdk': 'http://localhost:9090',
'/doc.html': 'http://localhost:9090',
'/swagger-ui': 'http://localhost:9090',
'/v3': 'http://localhost:9090',
'/webjars': 'http://localhost:9090',
},
},
})