65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
import { fileURLToPath, URL } from 'node:url'
|
|
|
|
import { defineConfig } from 'vite'
|
|
import vue from '@vitejs/plugin-vue'
|
|
import vueJsx from '@vitejs/plugin-vue-jsx'
|
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
|
|
import path from 'path'
|
|
|
|
// https://vitejs.dev/config/
|
|
export default defineConfig({
|
|
base: '/opui/',
|
|
server: {
|
|
proxy: {
|
|
'/portal': {
|
|
target: 'http://127.0.0.1:4523/m1/6997834-6716269-default',
|
|
changeOrigin: true
|
|
},
|
|
'/api-interface/mm': {
|
|
target: 'https://api.1024api.com',
|
|
changeOrigin: true
|
|
}
|
|
},
|
|
host: '0.0.0.0',
|
|
port: 7113
|
|
},
|
|
build: {
|
|
assetsDir: 'assets', // 指定生成静态文件目录
|
|
emptyOutDir: true, // 构建时清空该目录
|
|
outDir: 'dist/opui/' // 指定输出路径
|
|
},
|
|
plugins: [
|
|
vue(),
|
|
vueJsx(),
|
|
AutoImport({
|
|
imports: [
|
|
'vue',
|
|
'vue-router',
|
|
{ from: '@/utils/page/config', imports: ['pageConfig'] },
|
|
{ from: '@/utils/page/index', imports: ['handleInit', 'handleMessageBox'] },
|
|
{ from: '@/api/index', imports: ['api'] }
|
|
],
|
|
dts: 'src/auto-import.d.ts'
|
|
}),
|
|
createSvgIconsPlugin({
|
|
// 指定需要缓存的图标文件夹
|
|
iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
|
|
// 指定symbolId格式
|
|
symbolId: 'icon-[dir]-[name]'
|
|
})
|
|
],
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
silenceDeprecations: ['legacy-js-api', 'import']
|
|
}
|
|
}
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
}
|
|
}
|
|
})
|