Чтобы использовать изображение SVG в Next.js, вы можете использовать несколько методов. Вот некоторые из подходов, которые вы можете использовать:
-
Непосредственный импорт SVG. Вы можете импортировать файл SVG непосредственно в компонент Next.js, используя синтаксис импорта ES6. Сначала поместите файл SVG в каталог вашего проекта (например,
public/images). Затем в своем компоненте импортируйте файл SVG с помощьюimportи укажите путь к файлу SVG. Затем вы можете использовать импортированный SVG в качестве компонента вашего кода JSX.import React from 'react'; import MySVG from '../public/images/my-svg-file.svg'; const MyComponent = () => { return ( <div> <MySVG /> </div> ); }; export default MyComponent; -
Использование плагина
next-images: вы можете установить и настроить плагинnext-images, который позволяет импортировать файлы SVG непосредственно в Next. js-компоненты. Сначала установите плагин:npm install next-imagesЗатем создайте или обновите файл
next.config.jsв корне вашего проекта, включив в него следующую конфигурацию:const withImages = require('next-images'); module.exports = withImages();После настройки плагина вы можете импортировать файл SVG в качестве модуля в свой компонент и использовать его в своем JSX:
import React from 'react'; import MySVG from '../public/images/my-svg-file.svg'; const MyComponent = () => { return ( <div> <img src={MySVG} alt="My SVG" /> </div> ); }; export default MyComponent; -
Встроенный SVG. Другой вариант — использовать разметку SVG непосредственно в вашем компоненте. Скопируйте содержимое файла SVG и вставьте его в свой компонент в виде строки. Затем используйте атрибут
dangerouslySetInnerHTMLдля отрисовки разметки SVG.import React from 'react'; const MyComponent = () => { const svgMarkup = ` <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"> <!-- SVG contents go here --> </svg> `; return ( <div> <div dangerouslySetInnerHTML={{ __html: svgMarkup }} /> </div> ); }; export default MyComponent;
Вот некоторые методы, которые вы можете использовать для включения изображений SVG в Next.js. Выберите тот, который лучше всего соответствует вашим потребностям.