vite.config.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /*
  2. * @Author: wjc
  3. * @Date: 2024-05-27 10:17:11
  4. * @LastEditors: wjc
  5. * @LastEditTime: 2024-06-26 15:13:07
  6. * @Description:
  7. */
  8. import path from 'node:path'
  9. import { defineConfig, loadEnv } from 'vite'
  10. import UnoCSS from 'unocss/vite'
  11. import uni from '@dcloudio/vite-plugin-uni'
  12. import AutoImport from 'unplugin-auto-import/vite'
  13. import Components from 'unplugin-vue-components/vite'
  14. import UniLayouts from '@uni-helper/vite-plugin-uni-layouts'
  15. // import UniPages from '@uni-helper/vite-plugin-uni-pages'
  16. const root = process.cwd()
  17. function pathResolve(dir: string) {
  18. return path.resolve(root, '.', dir)
  19. }
  20. // https://vitejs.dev/config/
  21. export default defineConfig(({ mode }) => {
  22. const env = loadEnv(mode, process.cwd(), '')
  23. return {
  24. resolve: {
  25. alias: {
  26. '@': pathResolve('src'),
  27. },
  28. },
  29. server: {
  30. proxy: {
  31. '/api': {
  32. target: env.VITE_APP_BASE_API, // 对应自己的接口
  33. changeOrigin: true,
  34. },
  35. },
  36. },
  37. plugins: [
  38. uni(),
  39. UniLayouts(),
  40. // UniPages(),
  41. UnoCSS(),
  42. Components({
  43. // 按需导入组件,相关组件声明放置于 components.d.ts
  44. dts: './types/components.d.ts',
  45. dirs: ['src/components'],
  46. }),
  47. AutoImport({
  48. include: [
  49. /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
  50. /\.vue$/,
  51. /\.vue\?vue/, // .vue
  52. ],
  53. dirs: ['./src'],
  54. imports: ['vue', 'uni-app'], // 限定范围为 vue, uni-app
  55. dts: 'types/auto-import.d.ts', // 自动生成 'auto-import.d.ts'全局声明
  56. }),
  57. ],
  58. }
  59. })