Добавление svgr в приложение create-response-app через Craco

Я хочу использовать svgr's webpack plugin с приложением create-response-app 9X_react-create-app для use SVGs with MaterialUI's SvgIcon.. Я использую craco, чтобы добавить svgr 9X_webpack в конфигурацию Webpack.

В настоящее время 9X_craco всякий раз, когда предполагается визуализировать 9X_craco SVG, выдается следующая ошибка:

Failed to execute 'createElement' on 'Document': The tag name provided ('static/media/googlelogo.03ad8507.svg') is not a valid name. 

Мой craco.config.js:

const CracoAlias = require("craco-alias"); module.exports = { plugins: [ { plugin: CracoAlias, options: { baseUrl: "./src", tsConfigPath: "./tsconfig.extend.json", source: "tsconfig" } } ], webpack: { configure: (config, { env, paths }) => { config.module.rules.push({ test: /\.svg$/, use: ["@svgr/webpack"] }); return config; } } }; 

Как 9X_craco правильно встроить SVG?

7
1

  • если вы хотите добавить загрузчик, используйте `unshift()` вместо `push()`, чтобы дать ва ...
1
Общее количество ответов: 1

Ответ #1

Ответ на вопрос: Добавление svgr в приложение create-response-app через Craco

Похоже, CRA поддерживает преобразование 9X_create-react-app SVG по умолчанию, что делает craco + svgr 9X_create-react-app избыточным.

import { ReactComponent as GoogleLogo } from "../assets/images/googlelogo.svg"; 

GoogleLogo теперь является компонентом.

ReactComponent - обязательная 9X_craco магическая строка.

26
1

  • @prestonsmith https://create-react-app.de ...