82 lines
2.3 KiB
TypeScript
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
|
|
})
|
|
]
|
|
}
|
|
}
|