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

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

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

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

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

Похожие вопросы