๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ
๋ฒ„์ „: ๋ถˆ์•ˆ์ • ๐Ÿšง

๐Ÿ“ฆ plugin-svgr

An SVGR plugin to transform SVG files into React components automatically at build time.

์„ค์น˜โ€‹

npm install --save @docusaurus/plugin-svgr
ํŒ

If you use the preset @docusaurus/preset-classic, you don't need to install this plugin as a dependency.

You can configure this plugin through the preset options.

์„ค์ •โ€‹

์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ•„๋“œ

์˜ต์…˜๋ช…ํƒ€์ž…๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
svgrConfigobject{}The SVGR config options, shallow-merged over the default SVGR config

์„ค์ • ์˜ˆ์‹œโ€‹

You can configure this plugin through plugin options.

ํ”„๋ฆฌ์…‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ”„๋ฆฌ์…‹ ์˜ต์…˜๋ฅผ ํ†ตํ•ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

docusaurus.config.js
module.exports = {
presets: [
[
'@docusaurus/preset-classic',
{
svgr: {
svgrConfig: {/* SVGR config */},
},
},
],
],
};

Default configโ€‹

The svgrConfig option is shallow-merged over the following default SVGR config:

const defaultSvgrConfig = {
prettier: false,
svgo: true,
titleProp: true,
svgoConfig: {
plugins: [
{
name: 'preset-default',
params: {
overrides: {
removeTitle: false,
removeViewBox: false,
},
},
},
{
name: 'prefixIds',
params: {
delim: '',
// Short hash of the SVG file path, relative to the site directory
prefix: (node, info) => `svg-${hash(info.path)}-`,
prefixClassNames: false,
},
},
],
},
};

The prefixIds plugin prefixes SVG ids (for example, id="a" becomes id="svg-3f2a1c-a") to avoid clashes between multiple SVGs inlined in the same page. Class names are not prefixed.

Providing svgoConfig replaces the default SVGO config entirely. Use svgoConfig: undefined to read your own svgo.config.js file instead.