| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- /*
- * @Author: LiZhiWei
- * @Date: 2025-04-24 15:29:01
- * @LastEditors: LiZhiWei
- * @LastEditTime: 2025-12-30 15:47:25
- * @Description:
- */
- import { defineConfig } from "vite"
- import vue from "@vitejs/plugin-vue"
- import AutoImport from "unplugin-auto-import/vite"
- import Components from "unplugin-vue-components/vite"
- import { ElementPlusResolver } from "unplugin-vue-components/resolvers"
- export default defineConfig(({ mode }) => {
- const plugins = [
- vue(),
- AutoImport({
- resolvers: [ElementPlusResolver()],
- }),
- Components({
- resolvers: [ElementPlusResolver()],
- }),
- ]
- const resolve = {
- alias: {
- "@": "/src",
- ...(mode === "lib"
- ? {}
- : {
- "huijia-viewfile": "/src/components/view_file/lib.js",
- "huijia-viewfile/style.css": "/src/components/view_file/index.less",
- }),
- },
- }
- const workerConfig = {
- format: "es" as const,
- rollupOptions: {
- output: {
- entryFileNames: (chunkInfo: any) => {
- if (chunkInfo.name.includes("pdf.worker")) {
- return "assets/pdf.worker.js"
- }
- return "assets/[name]-[hash].js"
- },
- chunkFileNames: (chunkInfo: any) => {
- if (chunkInfo.name.includes("pdf.worker")) {
- return "assets/pdf.worker.js"
- }
- return "assets/[name]-[hash].js"
- },
- },
- },
- }
- if (mode === "lib") {
- return {
- plugins,
- resolve,
- publicDir: false,
- worker: workerConfig,
- build: {
- outDir: "dist-lib",
- emptyOutDir: true,
- lib: {
- entry: "src/components/view_file/lib.js",
- name: "ViewFile",
- formats: ["es", "cjs"],
- fileName: (format) => (format === "cjs" ? "index.cjs" : "index.js"),
- },
- rollupOptions: {
- external: ["vue"],
- output: {
- exports: "named",
- globals: {
- vue: "Vue",
- },
- },
- },
- },
- }
- }
- return {
- plugins,
- resolve,
- worker: {
- format: "es",
- },
- build: {
- rollupOptions: {
- output: {
- chunkFileNames: "assets/[name]-[hash].js",
- entryFileNames: "assets/[name]-[hash].js",
- assetFileNames: (assetInfo: any) => {
- const name = assetInfo.name || ""
- if (name.endsWith(".mjs") || name.includes("pdf.worker")) {
- return "assets/[name]-[hash].js"
- }
- return "assets/[name]-[hash].[ext]"
- },
- },
- },
- },
- }
- })
|