vue组件打包,自动将对应的静态文件复制到打包后的文件中

需求:我在项目中写了一套业务组件库,然后写了一个README.md文档,解释组件的用法,以及相关组件抛出的方法如何使用的介绍;然后我需要对这套业务组件进行打包,希望打包后自动将README.md文件复制到打包后的文件中。

解决方案:

vite-plugin-static-copy 插件

下载:

pnpm install vite-plugin-static-copy

使用:

// vite.config.js / vite.config.ts

import { viteStaticCopy } from 'vite-plugin-static-copy'

export default {
  plugins: [
    viteStaticCopy({
      targets: [
        {
          src: './README.md',
          dest: './'
        }
      ]
    })
  ]
}

我的vite配置源代码

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path';
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
import {viteStaticCopy} from 'vite-plugin-static-copy'

const pathResolve = (dir: string) => {
    return resolve(__dirname, '.', dir);
};
const alias: Record<string, string> = {
    '@': pathResolve('./src'),
};

// https://vitejs.dev/config/
export default defineConfig({
    base:'./',
    build:{
        outDir: 'HModules', //输出文件名称
        lib:{
            entry: resolve(__dirname, './index.ts'), //指定组件编译入口文件
            name: 'h-module',
            fileName: 'h-module'
        },//库编译模式配置
        rollupOptions: {
            external: ['vue'],
            output: {
                // format: 'es', // 默认es,可选 'amd' 'cjs' 'es' 'iife' 'umd' 'system'
                exports: 'named',
                globals: {
                    vue:'Vue',
                },
            }
        },
        minify: 'terser', // Vite 2.6.x 以上需要配置 minify: "terser", terserOptions 才能生效
        terserOptions: { // 在打包代码时移除 console、debugger 和 注释
            compress: {
                drop_console: true, // 生产环境时移除console
                drop_debugger: true // 生产环境时移除debugger
            },
            format: {
                comments: false // 删除注释comments
            }
        }
    },
    plugins: [
        vue(),
        AutoImport({
            resolvers: [ElementPlusResolver()],
        }),
        Components({
            resolvers: [ElementPlusResolver()],
        }),
        viteStaticCopy({
            targets: [
                { src: './README.md', dest: './' },//打包后将README.md文件复制到打包后的目录文件中
            ],
        })
    ],
    resolve: {
        alias,
    },
})


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值