quality_frontend/platform/example/vite.config.ts

82 lines
2.3 KiB
TypeScript

import {ConfigEnv, UserConfigExport} from 'vite'
// @ts-ignore
import viteSvgIcons from "vite-plugin-svg-icons";
import React from '@vitejs/plugin-react'
// @ts-ignore
import qiankun from "vite-plugin-qiankun"
// @ts-ignore
import path, {resolve} from 'path'
import monacoEditorPlugin from "vite-plugin-monaco-editor"
const pathResolve = (dir: string): any => {
return resolve(__dirname, dir)
}
console.log(__dirname);
const alias: Record<string, string> = {
'@': pathResolve('src'),
'api': pathResolve('src/api'),
'compoents': pathResolve('src/compoents'),
}
// https://vitejs.dev/config/
export default ({command}: ConfigEnv): UserConfigExport => {
const prodMock = true
return {
base: "/workbench",
css:{
devSourcemap:true
},
resolve: {
alias
},
server: {
port: 3001,
host: '0.0.0.0',
open: true,
proxy: {
// 代理配置
'/api': {
target: 'http://192.168.31.150:8080/',
changeOrigin: true,
rewrite: path => path.replace(/^\/api/, '')
}
}
},
build: {
rollupOptions: {
output: {
manualChunks: {
echarts: ['echarts']
}
}
}
},
plugins: [
monacoEditorPlugin({
languageWorkers:["json","typescript","editorWorkerService"],
}),
React({
babel: {
plugins: [
["@babel/plugin-proposal-decorators", { legacy: true }],
[
"@babel/plugin-proposal-class-properties",
{ loose: true },
],
],
},
}),
viteSvgIcons({
// 指定需要缓存的图标文件夹
iconDirs: [path.resolve(process.cwd(), 'src/assets/svg')],
// 指定symbolId格式
symbolId: 'icon-[dir]-[name]',
}),
qiankun("workbench", {
useDevMode: true
})
]
}
}