我是另一个不涉及 webpack 的解决方案的作者。这是一个可以将您的 svg 文件直接转换为 .re 文件的工具:https ://github.com/MoOx/react-from-svg
这可以为 react (dom) 或 react-native(-web) 创建文件 (=>使用 react-native-svg 生成的文件)。随意尝试:)
例如,您可以这样做(从 npm 安装该工具时)
$ react-from-svg src/SVGs src/SVGs/components --with-native-for-reason --remove-fill
这会将文件从svg/SVGs
React 组件转换src/SVGs/components
为使用 Reason 语法与 React Native 兼容。最后一个选项删除所有 svg 填充道具,以便您可以将它们用作图标。
请注意,生成的组件接受width
, height
&fill
道具,因此您可以在使用时对其进行调整。
最后一个好处:由于不涉及 webpack,因此只有在更新 SVG 文件并直接将此代码与 Node 运行时一起使用时才能使用此转换(当转换为 JS 时,来自 Reason 的 JSX 会被删除,因此代码可以直接通过 Node 使用而无需任何转换——这对于微小的静态站点/页面都很方便)。