vite.config.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import { defineConfig } from 'vite';
  2. import vue from '@vitejs/plugin-vue';
  3. import vueJsx from '@vitejs/plugin-vue-jsx';
  4. import Components from 'unplugin-vue-components/vite';
  5. import { VantResolver } from 'unplugin-vue-components/resolvers';
  6. import viteESLint from 'vite-plugin-eslint';
  7. import legacy from '@vitejs/plugin-legacy';
  8. // eslint-disable-next-line @typescript-eslint/no-var-requires
  9. const path = require('path');
  10. function resolve(dir: string) {
  11. return path.join(__dirname, dir);
  12. }
  13. // https://vitejs.dev/config/
  14. // https://github.com/vitejs/vite/issues/1930 .env
  15. // const proxyUrl = 'https://test.lexiaoya.cn/';
  16. // const proxyUrl = 'https://kt.colexiu.com/';
  17. // const proxyUrl = 'http://192.168.3.143:7989/';
  18. const proxyUrl = 'https://dev.kt.colexiu.com/';
  19. // const proxyUrl = 'https://test.kt.colexiu.com/';
  20. export default defineConfig({
  21. base: './',
  22. plugins: [
  23. legacy({
  24. targets: ['chrome 52'],
  25. additionalLegacyPolyfills: ['regenerator-runtime/runtime'],
  26. renderLegacyChunks: true,
  27. polyfills: [
  28. 'es.symbol',
  29. 'es.promise',
  30. 'es.promise.finally',
  31. 'es/map',
  32. 'es/set',
  33. 'es.array.filter',
  34. 'es.array.for-each',
  35. 'es.array.flat-map',
  36. 'es.object.define-properties',
  37. 'es.object.define-property',
  38. 'es.object.get-own-property-descriptor',
  39. 'es.object.get-own-property-descriptors',
  40. 'es.object.keys',
  41. 'es.object.to-string',
  42. 'web.dom-collections.for-each',
  43. 'esnext.global-this',
  44. 'esnext.string.match-all'
  45. ]
  46. }),
  47. vue(),
  48. vueJsx(),
  49. viteESLint(),
  50. Components({
  51. resolvers: [VantResolver()]
  52. })
  53. ],
  54. build: {
  55. target: 'es2015'
  56. },
  57. resolve: {
  58. alias: {
  59. '@': resolve('./src'),
  60. '@common': resolve('./src/common'),
  61. '@components': resolve('./src/components'),
  62. '@store': resolve('./src/store'),
  63. '@views': resolve('./src/views')
  64. }
  65. },
  66. server: {
  67. host: '0.0.0.0',
  68. port: 9002,
  69. strictPort: true,
  70. cors: true,
  71. https: false,
  72. proxy: {
  73. '/edu-oauth': {
  74. target: proxyUrl,
  75. changeOrigin: true
  76. },
  77. '/edu-app': {
  78. target: proxyUrl,
  79. changeOrigin: true
  80. }
  81. }
  82. }
  83. });