Задать вопрос
@tostershmoster

При сборке к имени картинок добавляется хеш и картинки не отображаются. Как указывать путь к картинкам?

const setPack = [
  {
    image: 'name-1.png',
    itemName: 'строка-1',
    quantity2: 'строка-2',
    quantity2: 'строка-3',
  },
  {
    image: 'name-2.png',
    itemName: 'строка-1',
    quantity1: 'строка-2',
    quantity2: 'строка-3',
  },
//...
}

{setPack.map((item) => (
  //...
  <img
    alt={item.itemName}
    src={`/assets/${item.image}`}
  />
  //...


После выполнения `npm run build` все картинки находятся в `/assets/image-name-hash.png` (с добавлением хеша) и не отображаются на странице. Хеш желательно оставить
Сборщик Vite.

// vite.config.ts
/* eslint-disable import/no-extraneous-dependencies */
import autoprefixer from 'autoprefixer';
import { defineConfig } from 'vite';

import react from '@vitejs/plugin-react';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  css: {
    postcss: {
      plugins: [
        autoprefixer({}), // add options if needed
      ],
    },
  },
});
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Aetae
@Aetae
Тлен
React - это тебе не Vue, он не умеет из коробки угадывать, что картинки надо импортировать.

Для каждой картинки надо сделать руками:
import img from './assets/img.jpeg'
или использовать glob import.

Ну либо положить картинки в public и брать их как есть по прямым путям относительно корня без всяких хэшей.

Подробнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽