index.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import type { RsbuildPlugins } from '@rsbuild/core'
  2. import { pluginBabel } from '@rsbuild/plugin-babel'
  3. import { pluginImageCompress } from '@rsbuild/plugin-image-compress'
  4. import { pluginSass } from '@rsbuild/plugin-sass'
  5. import { pluginTailwindcss } from '@rsbuild/plugin-tailwindcss'
  6. import { pluginVue } from '@rsbuild/plugin-vue'
  7. import { pluginVueJsx } from '@rsbuild/plugin-vue-jsx'
  8. import autoImport from './plugin_autoImport'
  9. import envType from './plugin_envType'
  10. import pluginIcons from './plugin_icons'
  11. import { pluginSvgSpriteLoader } from './plugin_svg'
  12. import autoComponent from './plugins_autoComponent'
  13. export function createRsbuildPlugins(isBuild: boolean): RsbuildPlugins {
  14. const plugins = [
  15. pluginBabel({
  16. include: /\.(?:jsx|tsx)$/,
  17. }),
  18. pluginVue(),
  19. pluginVueJsx(),
  20. pluginTailwindcss(),
  21. pluginSass(),
  22. // 按需加载组件,自动引入组件
  23. autoComponent(),
  24. // 按需加载,自动引入api
  25. autoImport(),
  26. pluginIcons(),
  27. envType({ dts: 'types/env.d.ts' }),
  28. pluginImageCompress(),
  29. pluginSvgSpriteLoader({
  30. path: 'src/assets/svg',
  31. }),
  32. ]
  33. return plugins
  34. }