Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
因為這次的專案並不是使用 create-react-app 的做法,因此不能直接用 import {ReactComponent as Name} from '/path/to/svg';。
在 Webpack 中加入 file-loader 的載入器,讓 SVG 作為圖片載入,適用於 <img src="path/to/svg/" /> 的方式。
npm install file-loader --save-dev
接著在 webpack.config.js 中加入針對 .svg 副檔名的載入規則。
module.exports = {
/* ... */
modules: {
rules: [
{
test: /\.svg$/,
use: [
{
loader: 'file-loader',
options: {
outputPath: 'images', // 我習慣會把圖片輸出到 images 這個資料夾
}
}
]
}
]
}
}如果要使用 import {ReactComponent as Name} from '/path/to/svg'; 的方式來載入,則可以直接把 <svg> 的內容插入 HTML 中。
這種做法,適合需要透過 CSS 調整樣式的情境。
npm install @svgr/webpack --save-dev
接著在 webpack.config.js 中加入設定。
module.exports = {
/* ... */
modules: {
rules: [
{
test: /\.svg$/,
use: [
{
loader: '@svgr/webpack',
options: {
outputPath: 'images', // 我習慣會把圖片輸出到 images 這個資料夾
}
}
]
}
]
}
}