vite.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * @Author: LiZhiWei
  3. * @Date: 2025-04-24 15:29:01
  4. * @LastEditors: LiZhiWei
  5. * @LastEditTime: 2025-12-30 12:19:24
  6. * @Description:
  7. */
  8. import { defineConfig } from "vite"
  9. import vue from "@vitejs/plugin-vue"
  10. import AutoImport from "unplugin-auto-import/vite"
  11. import Components from "unplugin-vue-components/vite"
  12. import { ElementPlusResolver } from "unplugin-vue-components/resolvers"
  13. export default defineConfig(({ mode }) => {
  14. const plugins = [
  15. vue(),
  16. AutoImport({
  17. resolvers: [ElementPlusResolver()],
  18. }),
  19. Components({
  20. resolvers: [ElementPlusResolver()],
  21. }),
  22. ]
  23. const resolve = {
  24. alias: {
  25. "@": "/src",
  26. ...(mode === "lib"
  27. ? {}
  28. : {
  29. "huijia-viewfile": "/src/components/view_file/lib.js",
  30. "huijia-viewfile/style.css": "/src/components/view_file/index.less",
  31. }),
  32. },
  33. }
  34. if (mode === "lib") {
  35. return {
  36. plugins,
  37. resolve,
  38. publicDir: false,
  39. build: {
  40. outDir: "dist-lib",
  41. emptyOutDir: true,
  42. lib: {
  43. entry: "src/components/view_file/lib.js",
  44. name: "ViewFile",
  45. formats: ["es", "cjs"],
  46. fileName: (format) => (format === "cjs" ? "index.cjs" : "index.js"),
  47. },
  48. rollupOptions: {
  49. external: ["vue"],
  50. output: {
  51. exports: "named",
  52. globals: {
  53. vue: "Vue",
  54. },
  55. },
  56. },
  57. },
  58. }
  59. }
  60. return {
  61. plugins,
  62. resolve,
  63. }
  64. })