stdproject/frontend/vite.config.js

91 lines
2.4 KiB
JavaScript
Raw Permalink Normal View History

2025-05-30 13:43:31 +08:00
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import path,{ resolve } from 'path'
import VueJsx from '@vitejs/plugin-vue-jsx'
import {
createStyleImportPlugin,
ElementPlusSecondaryResolve
} from 'vite-plugin-style-import-secondary'
// import VueI18nPlugin from '@intlify/unplugin-vue-i18n/vite'
import svgLoader from 'vite-svg-loader'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components-secondary/vite'
import { ElementPlusResolver } from 'unplugin-vue-components-secondary/resolvers'
2025-05-30 13:43:31 +08:00
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue(),
svgLoader({
svgo: false,
defaultImport: 'component' // or 'raw'
}),
// createStyleImportPlugin({
// resolves: [ElementPlusSecondaryResolve()],
// libs: [
// {
// libraryName: 'element-plus-secondary',
// esModule: true,
// resolveStyle: name => {
// return `element-plus-secondary/es/components/${name.substring(3)}/style/css`
// }
// }
// ]
// }),
AutoImport({
resolvers: [ElementPlusResolver()]
}),
Components({
resolvers: [ElementPlusResolver()]
}),
// VueI18nPlugin({
// runtimeOnly: false,
// compositionOnly: true,
// include: [resolve(__dirname, 'src/locales/**')]
// })
],
2025-05-30 13:43:31 +08:00
resolve: {
alias: {
'@': resolve(__dirname, 'src')
}
},
server: {
port: 3000,
open: true,
cors: true,
proxy: {
'/api': {
2025-07-01 10:15:07 +08:00
target: 'http://192.168.1.38:8083',
2025-05-30 13:43:31 +08:00
changeOrigin: true,
secure: false,
rewrite: path => path.replace(/^\/api/, '')
2025-05-30 13:43:31 +08:00
}
}
},
build: {
outDir: 'dist',
assetsDir: 'assets',
sourcemap: false,
minify: 'terser',
rollupOptions: {
output: {
chunkFileNames: 'assets/js/[name]-[hash].js',
entryFileNames: 'assets/js/[name]-[hash].js',
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]'
}
}
},
css: {
preprocessorOptions: {
less: {
modifyVars: {
hack: `true; @import (reference) "${path.resolve('src/data-visualization/style/variable.less')}";`
},
javascriptEnabled: true
},
2025-05-30 13:43:31 +08:00
scss: {
2025-05-30 14:40:25 +08:00
additionalData: '@use "@/styles/variables.scss" as vars;',
silenceDeprecations: ["legacy-js-api"]
2025-05-30 13:43:31 +08:00
}
}
}
})