vite.config.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import type { ConfigEnv } from 'vite'
  2. import path from 'node:path'
  3. import process from 'node:process'
  4. import { fileURLToPath } from 'node:url'
  5. import UnoCSS from 'unocss/vite'
  6. import { defineConfig, loadEnv } from 'vite'
  7. import Inspect from 'vite-plugin-inspect'
  8. import { viteMockServe } from 'vite-plugin-mock'
  9. import Progress from 'vite-plugin-progress'
  10. import Build from './vite.config.build'
  11. import Components from './vite.config.components'
  12. import Css from './vite.config.css'
  13. import Macros from './vite.config.macros'
  14. // https://vitejs.dev/config/
  15. export default defineConfig(({ mode, command }: ConfigEnv) => {
  16. process.env = { ...process.env, ...loadEnv(mode, process.cwd()) }
  17. const __dirname = path.dirname(fileURLToPath(import.meta.url))
  18. console.log(`当前编译环境: ${process.env.VITE_APP_ENV}`)
  19. return {
  20. base: './',
  21. server: Build.server,
  22. build: Build.build,
  23. css: Css,
  24. resolve: {
  25. alias: {
  26. '~': path.join(__dirname, './src'),
  27. '@': path.join(__dirname, './src'),
  28. },
  29. },
  30. plugins: [
  31. ...Macros(),
  32. ...Components(),
  33. UnoCSS(),
  34. /**
  35. * 本地和生产模拟服务
  36. * @see https://github.com/vbenjs/vite-plugin-mock/blob/main/README.zh_CN.md
  37. */
  38. viteMockServe({
  39. mockPath: 'mock',
  40. enable: command === 'serve' || process.env.VITE_APP_ENV === 'test',
  41. logger: true,
  42. }),
  43. /**
  44. * 检查Vite插件的中间状态
  45. * @see https://github.com/antfu/vite-plugin-inspect#readme
  46. */
  47. Inspect(),
  48. /**
  49. * 打包时展示进度条的插件
  50. * @see https://github.com/jeddygong/vite-plugin-progress/blob/main/README.zh-CN.md
  51. */
  52. Progress(),
  53. ],
  54. }
  55. })