reactjs - How do you use an SVG inline in React using Parcel 2?
问题描述
Previously in Parcel v1 you could just use something like the @svgr/parcel-plugin-svgr
plugin for Parcel. This would give you the ability to use SVGs inline like when using CRA:
import Star from './star.svg'
const App = () => (
<div>
<Star />
</div>
)
Can anyone help figure out a way to do this in Parcel 2?
解决方案
Parcel2 提供了@parcel/transformer-svg-react
插件来实现这一点。
这是您需要做的:
安装它:
yarn add @parcel/transformer-svg-react --dev
在项目的根目录中添加一个
.parcelrc
文件,该文件定义了一个使用此插件的命名管道:{ "extends": "@parcel/config-default", "transformers": { "jsx:*.svg": ["...", "@parcel/transformer-svg-react"] } }
(该
"..."
条目实际上应该输入到.parcelrc
文件中 - 它告诉 parcel “像往常一样处理这些类型的资产,只有在你完成后,才能将其转换为反应组件。”)在导入语句中使用命名管道:
import Star from 'jsx:./star.svg' const App = () => ( <div> <Star /> </div> )
请参阅包裹 2 文档。
推荐阅读
- c# - NFluent 只检查对象的少数成员
- wpf - 在 WPF 项目中,我为每个模块都有单独的文件夹,我希望在点击该模块屏幕时加载默认 app.xaml 文件
- vue.js - v-on:在 v-for 内单击不起作用
- python - 在 gae flexible 上长时间运行的云任务会提前终止而不会出错。如何调试?我错过了什么?
- java - Java8 和 JBoss EAP 7 在使用 JBOSS 开发人员工作室部署 Web 服务时是否存在严重的兼容性问题
- performance - 着色器中的点积与直接向量分量总和性能
- php - 如何在php laravel中获取列为空和条件
- azure-devops - 构建和 Visual Studio 中的 NuGet 包还原
- android - 重用布局时,Android自动填充多次输入相同的信息
- android - 在带有 Kotlin 的 Android 中使用 AutocompleteEditText 和 PlacesAutocomplete Api