vite.config.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import Uni from '@dcloudio/vite-plugin-uni'
  2. import UniHelperComponents from '@uni-helper/vite-plugin-uni-components'
  3. import UniHelperLayouts from '@uni-helper/vite-plugin-uni-layouts'
  4. import UniHelperManifest from '@uni-helper/vite-plugin-uni-manifest'
  5. import UniHelperPages from '@uni-helper/vite-plugin-uni-pages'
  6. import uniTailwind from '@uni-helper/vite-plugin-uni-tailwind'
  7. import postcssPresetEnv from 'postcss-preset-env'
  8. import tailwindcss from 'tailwindcss'
  9. import nested from 'tailwindcss/nesting'
  10. import AutoImport from 'unplugin-auto-import/vite'
  11. import { defineConfig, loadEnv } from 'vite'
  12. import tailwindcssConfig from './tailwind.config' // 注意匹配实际文件
  13. // 注意匹配实际文件
  14. // https://vitejs.dev/config/
  15. export default async ({ command, mode }) => {
  16. const env = loadEnv(mode, process.cwd(), '')
  17. return defineConfig({
  18. css: {
  19. postcss: {
  20. plugins: [
  21. nested(),
  22. tailwindcss({
  23. config: tailwindcssConfig,
  24. }),
  25. postcssPresetEnv({
  26. stage: 3,
  27. features: { 'nesting-rules': false },
  28. }),
  29. ],
  30. },
  31. },
  32. server: {
  33. port: 5175,
  34. proxy: {
  35. '/api': {
  36. target: env.VITE_PROXY_ENDPOINT,
  37. changeOrigin: true,
  38. rewrite: path => path.replace(/^\/api/, ''),
  39. },
  40. },
  41. },
  42. plugins: [
  43. // https://github.com/uni-helper/vite-plugin-uni-manifest
  44. UniHelperManifest(),
  45. // https://github.com/uni-helper/vite-plugin-uni-pages
  46. UniHelperPages({
  47. dts: 'src/uni-pages.d.ts',
  48. }),
  49. // https://github.com/uni-helper/vite-plugin-uni-layouts
  50. UniHelperLayouts(),
  51. // https://github.com/uni-helper/vite-plugin-uni-components
  52. UniHelperComponents({
  53. dts: 'src/components.d.ts',
  54. directoryAsNamespace: true,
  55. }),
  56. Uni(),
  57. // https://github.com/antfu/unplugin-auto-import
  58. AutoImport({
  59. imports: ['vue', '@vueuse/core', 'uni-app'],
  60. dts: 'src/auto-imports.d.ts',
  61. dirs: ['src/composables', 'src/stores', 'src/utils'],
  62. vueTemplate: true,
  63. }),
  64. uniTailwind({
  65. /* options */
  66. }),
  67. ],
  68. })
  69. }