vite.config.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. proxy: {
  34. '/api': {
  35. target: env.VITE_PROXY_ENDPOINT,
  36. changeOrigin: true,
  37. rewrite: path => path.replace(/^\/api/, ''),
  38. },
  39. },
  40. },
  41. plugins: [
  42. // https://github.com/uni-helper/vite-plugin-uni-manifest
  43. UniHelperManifest(),
  44. // https://github.com/uni-helper/vite-plugin-uni-pages
  45. UniHelperPages({
  46. dts: 'src/uni-pages.d.ts',
  47. }),
  48. // https://github.com/uni-helper/vite-plugin-uni-layouts
  49. UniHelperLayouts(),
  50. // https://github.com/uni-helper/vite-plugin-uni-components
  51. UniHelperComponents({
  52. dts: 'src/components.d.ts',
  53. directoryAsNamespace: true,
  54. }),
  55. Uni(),
  56. // https://github.com/antfu/unplugin-auto-import
  57. AutoImport({
  58. imports: ['vue', '@vueuse/core', 'uni-app'],
  59. dts: 'src/auto-imports.d.ts',
  60. dirs: ['src/composables', 'src/stores', 'src/utils'],
  61. vueTemplate: true,
  62. }),
  63. uniTailwind({
  64. /* options */
  65. }),
  66. ],
  67. })
  68. }