vite.config.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import path from 'path'
  2. import { defineConfig, loadEnv } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import vueJsx from '@vitejs/plugin-vue-jsx'
  5. import VueMacros from 'unplugin-vue-macros/vite'
  6. import glob from 'fast-glob'
  7. // import {
  8. // epPackage,
  9. // epRoot,
  10. // getPackageDependencies,
  11. // pkgRoot,
  12. // projRoot,
  13. // } from '@kankan-components/build-utils'
  14. export default defineConfig(async ({ mode }) => {
  15. const env = loadEnv(mode, process.cwd(), '')
  16. // let { dependencies } = getPackageDependencies(epPackage)
  17. // dependencies = dependencies.filter((dep) => !dep.startsWith('@types/')) // exclude dts deps
  18. // const optimizeDeps = (
  19. // await glob(['dayjs/(locale|plugin)/*.js'], {
  20. // cwd: path.resolve(projRoot, 'node_modules'),
  21. // })
  22. // ).map((dep) => dep.replace(/\.js$/, ''))
  23. return {
  24. build: {
  25. rollupOptions: {
  26. input: {
  27. index: path.resolve(__dirname, 'index.html'),
  28. demo: path.resolve(__dirname, 'demo.html'),
  29. },
  30. },
  31. },
  32. server: {
  33. host: true,
  34. https: !!env.HTTPS,
  35. port: 6868,
  36. proxy: {
  37. '/server-test': {
  38. target: 'https://test.4dkankan.com',
  39. changeOrigin: true,
  40. rewrite: (path) => path.replace(/^\/server-test/, ''),
  41. },
  42. '/server-prod': {
  43. target: 'https://www.4dkankan.com',
  44. changeOrigin: true,
  45. rewrite: (path) => path.replace(/^\/server-prod/, ''),
  46. },
  47. },
  48. },
  49. plugins: [
  50. //@ts-ignore
  51. VueMacros({
  52. setupComponent: false,
  53. setupSFC: false,
  54. plugins: {
  55. vue: vue(),
  56. vueJsx: vueJsx(),
  57. },
  58. }),
  59. ],
  60. optimizeDeps: {
  61. include: ['vue', '@vue/shared'],
  62. },
  63. }
  64. })