First, install url-loader
along side with svgr
: yarn add -D url-loader
.
Add the loader to svg
test option:
{
test: /\.svg$/,
use: ["@svgr/webpack", "url-loader"],
},
Now, we can get the url and/or the svg React Component from the svg file:
import windorURL, {
ReactComponent as WindowImage,
} from "../../../../../images/svg/event-hero/window.svg"
Getting both url and React Component.
import couchURL from "../../../../../images/svg/event-hero/couch.svg"
Getting just the url.
import { ReactComponent as BookImage } from "../../../../../images/svg/event-hero/book.svg"
Getting just the React Component.
That's all.
Now, if we want just remove the svg dimensions, add the next to the webpack.config.js
:
{
test: /\.svg$/,
use: [
{
loader: "@svgr/webpack",
options: {
svgoConfig: {
plugins: {
removeDimensions: true,
},
},
},
}
],
},
or if you want make the viewBox
property available, add the next to the webpack.config.js
:
{
test: /\.svg$/,
use: [
{
loader: "@svgr/webpack",
options: {
svgoConfig: {
plugins: {
removeViewBox: false,
},
},
},
}
],
},