#javascript #reactjs #webpack
#javascript #reactjs #webpack
Вопрос:
Вот в чем дело, когда я открыл свой проект react, все изображения перестали появляться, это произошло внезапно, поскольку он работал пару часов назад. Похоже, это проблема с тем, как они импортируются, метод, который я всегда использовал src={require(./Picture)}
, я также пробовал, const logo = require('logo') src={logo}
и import logo from './logo.png'
единственный работающий — последний упомянутый.
При этом каждый Google указывал, что проблема связана с зависимостью под названием webpack, которую я пытался удалить и переустановить, также установив более старую версию, но ничего не получалось.
Есть идеи о том, что могло вызвать это?
Комментарии:
1. Используете ли вы create-react-app?
Ответ №1:
Если вы используете create-react-app
и require
для импорта своих изображений, require
возвращает модуль ES вместо строки. Это потому file-loader
esModule
, что опция in включена по умолчанию.
Просто убедитесь, что вы импортируете свои изображения одним из следующих способов:
const image = require('../path/to/image.jpg').default;
// OR
import image from '../path/to/image.jpg';
Итак
src={require(./Picture)}
должно бытьsrc={require(./Picture).default}
const logo = require('logo')
должно бытьconst logo = require('logo').default
import logo from './logo.png'
должно просто работать
Комментарии:
1. Это сработало отлично, большое спасибо. Почему
.default
вдруг возникла необходимость?, пару часов назад он работал абсолютно нормально без него2. Если вы не обновили свои зависимости, это действительно странно. Не уверен, что изменилось.