unplugin-svg-component icon indicating copy to clipboard operation
unplugin-svg-component copied to clipboard

生产环境发生错误

Open smh000809 opened this issue 1 year ago • 9 comments

使用 vite + vue 项目时

{
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "build:dev": "vite build --mode development"
  }
}

dev 时是正常的, build 或者 build:dev 时是有问题的

大概有 32个 svg 文件

smh000809 avatar Jul 12 '24 08:07 smh000809

@smh000809 可以提供一个最小的复现demo吗?

Jevon617 avatar Jul 12 '24 09:07 Jevon617

@smh000809 可以提供一个最小的复现demo吗? 请移步:https://github.com/smh000809/vite-project

ghost avatar Jul 12 '24 09:07 ghost

@smh000809我能提供一个最小的复现demo吗? 请移步:https://github.com/smh000809/vite-project

  1. 运行 pnpm i
  2. pnpm dev
  3. 看控制台打印的 svg 数组
  4. pnpm build && pnpm preview
  5. 再看控制台打印的 svg 数组

ghost avatar Jul 12 '24 09:07 ghost

@smh000809我能提供一个最小的复现demo吗? 请移步:https://github.com/smh000809/vite-project

  1. 运行 pnpm i
  2. pnpm 开发
  3. 看控制台打印的 svg 数组
  4. pnpm 构建 && pnpm 预览
  5. 再看控制台打印的 svg 数组

此时很显然 开发/生产 环境是有很大的区别的

ghost avatar Jul 12 '24 09:07 ghost

因为生产环境是开启tree-shaking的, 所以未使用的不会打包进最终目录. @smh000809

Jevon617 avatar Jul 12 '24 09:07 Jevon617

文档应该是有错误, tree-shaking 默认应该是 true, 我更新一下.

Jevon617 avatar Jul 12 '24 09:07 Jevon617

文档应该是有错误, tree-shaking 默认应该是 true, 我更新一下.

这个 tree-shaking 生产环境设置关闭,是不起作用的

ghost avatar Jul 12 '24 09:07 ghost

文档应该是有错误, tree-shaking 默认应该是 true, 我更新一下.

这个 tree-shaking 生产环境设置关闭,是不起作用的

SvgIcon 的name 如果是动态的

ghost avatar Jul 12 '24 09:07 ghost

如果是动态的话, 就手动关闭一下:

image

Jevon617 avatar Jul 12 '24 09:07 Jevon617