Задать вопрос
@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
      ],
    },
  },
});
  • Вопрос задан
  • 120 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Aetae
@Aetae
Тлен
React - это тебе не Vue, он не умеет из коробки угадывать, что картинки надо импортировать.

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

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

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

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

Похожие вопросы
26 дек. 2024, в 16:23
30000 руб./за проект
26 дек. 2024, в 16:23
100000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект