You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Vite Library Mode构建时,dist目录为何出现vite.svg文件?

解决Vite Library Mode下未使用的vite.svg被打包到dist的问题

你遇到的问题是因为Vite默认会将public目录下的所有文件复制到dist输出目录,无论这些文件是否在代码中被引用。如果你的项目根目录存在public文件夹,且里面有vite.svg,构建时就会自动被复制过去。

下面是两种解决方法:

方法1:删除无用的静态资源

直接删除项目根目录public文件夹中的vite.svg文件,如果你的组件库不需要任何公共静态资源,也可以直接删除整个public文件夹。这是最直接的解决方式。

方法2:配置Vite停止自动复制public目录

如果需要保留public目录但不想自动复制其中的文件,可以在vite.config.js的build选项中添加copyPublicDir: false:

export default defineConfig({
  plugins: [react()],
  build: {
    copyPublicDir: false, // 新增这一行
    lib: {
      entry: resolve(__dirname, 'src/index.jsx'),
      name: 'MyLib',
      fileName: 'my-lib',
    },
    rollupOptions: {
      external: ['react', 'react-dom'],
      output: {
        globals: {
          react: 'React',
          'react-dom': 'ReactDOM',
        },
      },
    },
  },
})

注意:如果你的组件库需要使用public目录中的某些资源,这种方式会把所有public资源都排除在外。此时你需要改为在代码中显式导入这些资源,让Vite将它们打包进产物中。

内容的提问来源于stack exchange,提问作者Andreas Riedmüller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 21:06:06