我正在尝试找出将 SVG 图像直接作为 JSX 组件导入到我的 React 通用组件库中的最佳方法。所谓“通用组件库”是指一个单独的包,其中包含我的组织内的各种 Web 应用程序可以使用的通用组件。
以下是 monorepo 设置的示例,其中包含 Web 应用程序 (apps/web) 和通用 ui 库 (packages/my-core),该库使用名为 Turborepo 的库:
https://github.com/MahdiTa97/turborepo-boilerplate/blob/main/package.json
通常,在NextJS或Create React App项目中,我会利用SVGR webpack插件编写如下的导入语句:
import { ReactComponent as ExampleIcon } from 'common-ui-library/images/icon.svg'
并且会像任何普通的React组件一样使用ExampleIcon。
在通用UI库的上下文中,情况有点不同。Webpack并没有在库中使用,据我所知,这个“通用ui库”中包含的所有内容都必须是一个正确的模块。
我最后想做的事就是设置一个单独的“图像”包,它使用Rollup(或类似的),和某种在我开发时随时运行的观察程序。
我真的很高兴这个特殊的设置允许我开发,而不需要为通用ui库运行一个单独的观察程序进程。
发布于 2022-01-29 05:23:21
https://stackoverflow.com/questions/70901687
复制相似问题