1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import { defineConfig, loadEnv } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import { ViteEjsPlugin } from 'vite-plugin-ejs'
- import path from 'path'
- // unplugin-vue-components 会解析模板并自动注册对应的组件,使用函数组件时,unplugin-vue-components 无法自动引入对应的样式,因此需要手动引入样式
- import Components from 'unplugin-vue-components/vite'
- import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
- // https://vitejs.dev/config/
- // @ts-ignore
- export default ({ mode }) =>
- defineConfig({
- plugins: [
- vue(),
- vueJsx(),
- Components({
- resolvers: [ElementPlusResolver()]
- }),
- ViteEjsPlugin(() => {
- return {
- // BASE_URL: loadEnv(mode, process.cwd()).VITE_APP_BASE_DOMIAN,
- TITLE: '上海市CIM平台'
- // JS_MOUDLES: ['/websdk/latest/cimcube/cimcube.js'],
- // CSS_MOUDLES: [
- // '/websdk/latest/cimcube/Widgets/widgets.css',
- // '/websdk/latest/Resource/css/Widgets.css'
- // ]
- }
- }),
- ],
- base: 'a',
- resolve: {
- alias: {
- '@': path.resolve(__dirname, './src'),
- '@assets': path.resolve(__dirname, './src/assets'),
- '@common': path.resolve(__dirname, './src/common'),
- '@utils': path.resolve(__dirname, './src/utils'),
- '@components': path.resolve(__dirname, './src/components'),
- '@views': path.resolve(__dirname, './src/views'),
- '@styles': path.resolve(__dirname, './src/styles')
- }
- },
- // 服务配置
- server: {
- host: '0.0.0.0',
- port: 4450, // 类型: number 指定服务器端口;
- open: true, // 类型: boolean | string在服务器启动时自动在浏览器中打开应用程序;
- proxy: {
- '/api': {
- // target: `https://www${envStr}.bimface.com/api`,
- target: loadEnv(mode, process.cwd()).VITE_APP_BASE_DOMIAN,
- changeOrigin: true,
- rewrite: (apiPath) => apiPath.replace(/^\/api/, ''),
- cookieDomainRewrite: 'localhost'
- },
- '/bf': {
- // target: `https://www${envStr}.bimface.com/api`,
- target: loadEnv(mode, process.cwd()).VITE_APP_BASE_DOMIAN,
- changeOrigin: true,
- //rewrite: (apiPath) => apiPath.replace(/^\/bf/, ''),
- cookieDomainRewrite: 'localhost'
- }
- }
- },
- // css 处理
- css: {
- preprocessorOptions: {
- scss: {
- /* .scss全局预定义变量,引入多个文件 以;(分号分割)*/
- additionalData: '@import "./src/styles/elementPlus/var.scss";'
- }
- }
- },
- // 生产环境
- build: {
- minify: 'terser',
- target: 'es2015',
- // 指定输出路径
- assetsDir: './',
- // 指定输出文件路径
- outDir: 'dist',
- // 代码压缩配置
- terserOptions: {
- // 生产环境移除console
- compress: {
- drop_console: true,
- drop_debugger: true
- }
- },
- chunkSizeWarningLimit: 2000
- },
- })
|