vite.config.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. const { resolve } = require('path')
  2. import { defineConfig } from 'vite'
  3. import { VitePWA } from 'vite-plugin-pwa'
  4. import glsl from 'vite-plugin-glsl'
  5. // import mpa from 'vite-plugin-mpa'
  6. // import vitePluginImp from 'vite-plugin-imp'
  7. import vue from '@vitejs/plugin-vue'
  8. const vueJsx = require('@vitejs/plugin-vue-jsx')
  9. const legacy = require('@vitejs/plugin-legacy')
  10. // import svgLoader from 'vite-svg-loader'
  11. const proxyUrl = 'http://47.98.131.38:8989/' // test 环境
  12. // const proxyUrl = 'https://online.colexiu.com/' // online 环境
  13. // const proxyUrl = 'http://mstudev.dayaedu.com'
  14. export default defineConfig({
  15. base: './',
  16. resolve: {
  17. alias: {
  18. // '/src': resolve(__dirname, './src'),
  19. '/opensheetmusicdisplay': resolve(__dirname, './opensheetmusicdisplay'),
  20. },
  21. },
  22. css: {
  23. preprocessorOptions: {
  24. less: {
  25. lessOptions: {
  26. modifyVars: {
  27. '@blue': '#14928A',
  28. '@nav-bar-icon-color': '#14928A',
  29. },
  30. },
  31. },
  32. },
  33. },
  34. build: {
  35. rollupOptions: {
  36. input: {
  37. index: resolve(__dirname, 'index.html'),
  38. colexiu: resolve(__dirname, 'colexiu.html'),
  39. 'colexiu-report-share': resolve(__dirname, 'colexiu-report-share.html'),
  40. 'colexiu-report': resolve(__dirname, 'colexiu-report.html'),
  41. 'colxiu-website': resolve(__dirname, 'colxiu-website.html'),
  42. 'colxiu-share': resolve(__dirname, 'colexiu-share.html'),
  43. 'music-sheet': resolve(__dirname, 'music-sheet.html'),
  44. },
  45. },
  46. },
  47. plugins: [
  48. vue(),
  49. glsl(),
  50. vueJsx(),
  51. legacy({
  52. targets: ['> 0.25%, not dead'],
  53. ignoreBrowserslistConfig: true,
  54. }),
  55. VitePWA({
  56. injectRegister: 'networkfirst',
  57. workbox: {
  58. cleanupOutdatedCaches: true,
  59. },
  60. base: './',
  61. manifest: {
  62. name: '管乐迷',
  63. short_name: '管乐迷',
  64. theme_color: '#01C1B5',
  65. icons: [
  66. {
  67. src: './pwa-192x192.png',
  68. sizes: '192x192',
  69. type: 'image/png',
  70. },
  71. {
  72. src: './pwa-512x512.png',
  73. sizes: '512x512',
  74. type: 'image/png',
  75. },
  76. ],
  77. },
  78. }),
  79. // vitePluginImp({
  80. // libList: [
  81. // {
  82. // libName: 'vant',
  83. // style(name) {
  84. // if (/CompWithoutStyleFile/i.test(name)) {
  85. // return false
  86. // }
  87. // return `vant/es/${name}/style/index.js`
  88. // }
  89. // },
  90. // ]
  91. // })
  92. ],
  93. server: {
  94. cors: true,
  95. proxy: {
  96. '/api-student': {
  97. target: proxyUrl,
  98. changeOrigin: true,
  99. },
  100. '/api-teacher': {
  101. target: proxyUrl,
  102. changeOrigin: true,
  103. },
  104. '/api-admin': {
  105. target: proxyUrl,
  106. changeOrigin: true,
  107. },
  108. '/api-website': {
  109. target: proxyUrl,
  110. changeOrigin: true,
  111. },
  112. },
  113. },
  114. })