vite.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { fileURLToPath, URL } from 'node:url'
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import tryFiles from "./src/lib/try_files.js"
  5. import { viteMockServe } from 'vite-plugin-mock'
  6. // https://vitejs.dev/config/
  7. export default defineConfig(({ mode }) => {
  8. return {
  9. plugins: [
  10. tryFiles,
  11. vue(),
  12. viteMockServe({
  13. mockPath: "./mock/",
  14. logger: true,
  15. enable: mode === "development" && true
  16. })
  17. ],
  18. resolve: {
  19. alias: {
  20. '@': fileURLToPath(new URL('./src', import.meta.url))
  21. }
  22. },
  23. server: {
  24. host: '0.0.0.0',
  25. port: 5174
  26. },
  27. root: 'src',
  28. publicDir: '@/public',
  29. build: {
  30. rollupOptions: {
  31. input: [
  32. '@/views/index/index.html',
  33. '@/views/account/reset.html',
  34. '@/views/email/verify.html',
  35. '@/views/login/index.html',
  36. '@/views/login/ticket.html',
  37. '@/views/login/otp.html',
  38. '@/views/register/index.html',
  39. '@/views/layout.html',
  40. /** portal **/
  41. '@/views/portal/index.html',
  42. '@/views/portal/post.html',
  43. '@/views/portal/products/index.html',
  44. '@/views/portal/products/cdn/index.html',
  45. ],
  46. output: {
  47. assetFileNames: 'views/assets/app-[hash].[ext]',
  48. entryFileNames: 'views/assets/app-[hash].js',
  49. chunkFileNames: 'views/assets/app-[hash].js',
  50. dir: 'dist'
  51. }
  52. },
  53. chunkSizeWarningLimit: 2048
  54. }
  55. }
  56. })