Jevon617 / unplugin-svg-component

generate a vue/react component through svg files, supporting svg file HMR, Tree-shaking, SSR and TS hint.
MIT License
58 stars 5 forks source link

生产环境发生错误 #26

Closed smh000809 closed 1 month ago

smh000809 commented 3 months ago

使用 vite + vue 项目时

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

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

大概有 32个 svg 文件

Jevon617 commented 3 months ago

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

smh000809 commented 3 months ago

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

smh000809 commented 3 months ago

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

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

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

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

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

Jevon617 commented 3 months ago

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

Jevon617 commented 3 months ago

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

smh000809 commented 3 months ago

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

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

smh000809 commented 3 months ago

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

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

SvgIcon 的name 如果是动态的

Jevon617 commented 3 months ago

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

image