vite.config.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import vueJsx from '@vitejs/plugin-vue-jsx'
  4. import path from 'path'
  5. import { fileURLToPath } from 'url'
  6. const __dirname = path.dirname(fileURLToPath(import.meta.url))
  7. function resolve(dir) {
  8. return path.join(__dirname, dir)
  9. }
  10. export default defineConfig({
  11. plugins: [
  12. vue(),
  13. vueJsx()
  14. ],
  15. define: {
  16. 'process.env': {
  17. BASE_URL: '/',
  18. NODE_ENV: process.env.NODE_ENV,
  19. API_URL: 'http://your-api-url',
  20. // ... 其他环境变量
  21. }
  22. },
  23. css: {
  24. preprocessorOptions: {
  25. less: {
  26. javascriptEnabled: true,
  27. additionalData: `@import "${path.resolve(__dirname, 'src/app.less')}";`
  28. }
  29. }
  30. },
  31. resolve: {
  32. alias: {
  33. '@': resolve('src'),
  34. '@api': resolve('src/api'),
  35. '@assets': resolve('src/assets'),
  36. '@layouts': resolve('src/layouts'),
  37. '@static': resolve('src/static'),
  38. '@components': resolve('src/components'),
  39. '@router': resolve('src/router'),
  40. '@utils': resolve('src/utils'),
  41. '@store': resolve('src/store'),
  42. '@views': resolve('src/views')
  43. },
  44. extensions: ['.js', '.jsx', '.ts', '.tsx', '.json', '.vue']
  45. },
  46. server: {
  47. port: 8003,
  48. proxy: {
  49. '/WebSocketConfig/': {
  50. target: 'ws://test.com',
  51. changeOrigin: true,
  52. ws: true,
  53. },
  54. '/api/': {
  55. target: 'http://test.com',
  56. changeOrigin: true,
  57. ws: false,
  58. }
  59. }
  60. },
  61. productionSourceMap: false,
  62. lintOnSave: false,
  63. })