semi-design
semi-design copied to clipboard
[BUG] 使用pnpm,在vite中使用自定义主题,会出现编译错误
Is there an existing issue for this?
- [X] I have searched the existing issues
Which Component
No response
Semi Version
2.18.2
Current Behavior

Expected Behavior
在pnpm中能够正常使用自定义主题
Steps To Reproduce
使用pnpm初始化一个vite的react-ts项目,使用自定义主题即可复现
ReproducibleCode
No response
Environment
- OS: macos
- browser:chorome
Anything else?
调试了一下vite-plugin-semi-theme的源码,发现是没有兼容pnpm下依赖的路径问题,导致引入的自定义主题下的scss文件指向了.pnpm中的目录,而不是直接指向node_modules中的自定义主题包
vite 的插件是社区维护的,可以给他们提 Issue,目前可以先临时使用 主题包内部的全量 semi.css 来绕过。
理论上pnpm下这个是软链,路径做额外处理感觉不是很合理。看起来是dart-sass不识别软链
同样遇到这个问题。
这个暂时没有解决方案,需要先换 yarn或者npm绕过
same ,绕不过去啊,直接Import也不生效
same ,绕不过去啊,直接Import也不生效
直接 import 主题包里的 semi.css也不生效吗?是样式没进来 还是被覆盖了?
same ,绕不过去啊,直接Import也不生效
直接 import 主题包里的 semi.css也不生效吗?是样式没进来 还是被覆盖了?
看着是覆盖了,要root包一层变量才有用
这个暂时没有解决方案,需要先换 yarn或者npm绕过
semi官方是否会计划开发vite插件。现在vite已经非常成熟了,无论预览还是打包效率比webpage高了不知道多少倍。= 两年快过去了,依然不支持vite。
这个暂时没有解决方案,需要先换 yarn或者npm绕过
semi官方是否会计划开发vite插件。现在vite已经非常成熟了,无论预览还是打包效率比webpage高了不知道多少倍。= 两年快过去了,依然不支持vite。
- 不是不支持vite,是 pnpm 下它的特殊目录结构会导致结合使用时有一些问题,vite + npm/yarn 是没问题的
- vite plugin 有社区版本,pnpm你可以试下 https://github.com/Codpoe/vite-plugin-semi-theming ,非pnpm可以用 https://github.com/boenfu/vite-plugin-semi-theme
- 我们自身人力有限,没有那么多人力去cover所有的工程化方案(这里的人力消耗会包括:初始版本以及跟进后续所有的使用问题),我们公司内部高强度使用的是 webpack 和 rspack,仅对这两者的构建方案提供官方支持。
这个暂时没有解决方案,需要先换 yarn或者npm绕过
semi官方是否会计划开发vite插件。现在vite已经非常成熟了,无论预览还是打包效率比webpage高了不知道多少倍。= 两年快过去了,依然不支持vite。
- 不是不支持vite,是 pnpm 下它的特殊目录结构会导致结合使用时有一些问题,vite + npm/yarn 是没问题的
- vite plugin 有社区版本,pnpm你可以试下 https://github.com/Codpoe/vite-plugin-semi-theming ,非pnpm可以用 https://github.com/boenfu/vite-plugin-semi-theme
- 我们自身人力有限,没有那么多人力去cover所有的工程化方案(这里的人力消耗会包括:初始版本以及跟进后续所有的使用问题),我们公司内部高强度使用的是 webpack 和 rspack,仅对这两者的构建方案提供官方支持。
这个支持pnpm,亲测可用。非常感谢!主题好棒!
https://github.com/Codpoe/vite-plugin-semi-theming