|
|
import { UserConfig, ConfigEnv, loadEnv, defineConfig } from 'vite';
|
|
|
|
|
|
import createPlugins from './vite/plugins';
|
|
|
|
|
|
import path from 'path';
|
|
|
export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
|
|
|
const env = loadEnv(mode, process.cwd());
|
|
|
return {
|
|
|
// 部署生产环境和开发环境下的URL。
|
|
|
// 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
|
|
|
// 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
|
|
|
base: env.VITE_APP_CONTEXT_PATH,
|
|
|
resolve: {
|
|
|
alias: {
|
|
|
'~': path.resolve(__dirname, './'),
|
|
|
'@': path.resolve(__dirname, './src')
|
|
|
},
|
|
|
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
|
|
|
},
|
|
|
// https://cn.vitejs.dev/config/#resolve-extensions
|
|
|
plugins: createPlugins(env, command === 'build'),
|
|
|
server: {
|
|
|
host: '0.0.0.0',
|
|
|
port: Number(env.VITE_APP_PORT),
|
|
|
open: true,
|
|
|
proxy: {
|
|
|
[env.VITE_APP_BASE_API]: {
|
|
|
target: 'http://localhost:6080',
|
|
|
// target: 'http://175.27.215.92:6080/prod-api',
|
|
|
changeOrigin: true,
|
|
|
ws: true,
|
|
|
rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '')
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
css: {
|
|
|
preprocessorOptions: {
|
|
|
scss: {
|
|
|
javascriptEnabled: true
|
|
|
}
|
|
|
},
|
|
|
postcss: {
|
|
|
plugins: [
|
|
|
{
|
|
|
postcssPlugin: 'internal:charset-removal',
|
|
|
AtRule: {
|
|
|
charset: (atRule) => {
|
|
|
if (atRule.name === 'charset') {
|
|
|
atRule.remove();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
// 预编译
|
|
|
optimizeDeps: {
|
|
|
include: [
|
|
|
'vue',
|
|
|
'vue-router',
|
|
|
'pinia',
|
|
|
'axios',
|
|
|
'@vueuse/core',
|
|
|
'echarts',
|
|
|
'vue-i18n',
|
|
|
'@vueup/vue-quill',
|
|
|
'bpmn-js/lib/Viewer',
|
|
|
'bpmn-js/lib/Modeler.js',
|
|
|
'bpmn-js-properties-panel',
|
|
|
'min-dash',
|
|
|
'diagram-js/lib/navigation/movecanvas',
|
|
|
'diagram-js/lib/navigation/zoomscroll',
|
|
|
'bpmn-js/lib/features/palette/PaletteProvider',
|
|
|
'bpmn-js/lib/features/context-pad/ContextPadProvider',
|
|
|
'diagram-js/lib/draw/BaseRenderer',
|
|
|
'tiny-svg',
|
|
|
'image-conversion',
|
|
|
'element-plus/es/components/**/css'
|
|
|
]
|
|
|
}
|
|
|
};
|
|
|
});
|