马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如下面这段代码,发现加载 tools 的时候, Icon 对应的 RotateRight 为 unfined, 但是svg图片的路径是精确的。
- import { ReactComponent as RotateRight } from 'assets/images/xxx/icon_img_rotate+90_default.svg';
- const tools = [
- {
- Icon: RotateRight,
- onClick: onRotateRight,
- type: 'rotateRight',
- }
- ]
复制代码 缘故原由:
Webpack 配置或缺少插件,我使用的是自定义 Webpack 配置,发现没有配置 @svgr/webpack 插件。
解决:
我使用的 版本是 “webpack”: “^4.41.5”,“react”: “^17.0.2”,下载兼容的@svgr/webpack插件版本。
- yarn add @svgr/webpack@5 --dev
复制代码 在 Webpack 配置中,配置 @svgr/webpack
- const path = require('path');
- const loaderUtils = require('loader-utils');
- module.exports = {
- // 其他配置...
- module: {
- rules: [
- // 处理SVG图标为React组件的规则
- {
- test: /\.svg$/,
- issuer: /\.[jt]sx?$/, // 确保只对JSX/TSX文件中的SVG应用此规则
- use: [
- {
- loader: '@svgr/webpack',
- options: {
- svgoConfig: {
- plugins: [{ removeViewBox: false }],
- },
- // 你可以在这里添加更多 @svgr/webpack 的选项
- },
- },
- ],
- },
- // 如果你还想保持原来的SVG文件加载方式(例如,通过import引入作为URL)
- // 你可以添加另一个规则来处理这些情况:
- {
- test: /\.svg$/,
- exclude: /node_modules/,
- use: ['url-loader'], // 或者 file-loader, 根据你的需求选择
- },
- ],
- },
- // 其他配置...
- };
复制代码 假如使用的是 Babel 编译 JavaScript 文件,在 .babelrc 文件中配置下面代码
- {
- "presets": ["@babel/preset-env", "@babel/preset-react"]
- }
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |