Ошибка при попытке импорта в приложение react, но путь и все правильно

#javascript #reactjs #import #export

#javascript #reactjs #импорт #экспорт

Вопрос:

Я получаю следующую ошибку: Attempted import error: 'MyPropertiesForm' is not exported from '../../forms'. и я не могу понять, почему, потому что все правильно.

Вот как я импортирую import { MyPropertiesForm } from '../../forms';

// этот файл находится в E:falalasrccontainersMyPropertiesPageMyPropertiesPage.js

И вот как я экспортирую

 const MyPropertiesForm = compose(injectIntl)(MyPropertiesFormComponent);
MyPropertiesForm.displayName = 'ContactDetailsForm';
export default MyPropertiesForm;
 

// этот файл находится в
E:falalasrcformsMyPropertiesFormMyPropertiesForm.js

Ответ №1:

Попробуйте

 import  MyPropertiesForm  from '../../forms/MyPropertiesForm/MyPropertiesForm';
 

Обратите внимание, что указанный вами путь был только к папке «форма», но экспорт фактически находился в файле глубоко внутри этой папки.

А также обратите внимание, что при импорте экспортируемого по умолчанию модуля, чтобы вы не записывали его внутри {}, а записывали как называется.

Комментарии:

1. Большое спасибо, это сработало!!! Но я все еще не совсем понимаю, почему. Я знаю, что если это экспорт по умолчанию, его не следует импортировать с фигурными скобками, но почему » import MyPropertiesForm from ‘./ ../ ../forms /MyPropertiesForm / MyPropertiesForm’; » а не » import MyPropertiesForm from ‘./ ../ ../forms/MyPropertiesForm/MyPropertiesForm.js ‘; » Как происходит импортзнает, из какой MyPropertiesForm я хочу импортировать, там тоже есть css с тем же именем.

2. это .js не требуется, потому что существует » JS Bundler » (например, Webpack), который сообщает компилятору ссылаться на него точно как на файл .js. Так что на самом деле он настроен так, чтобы действовать так с самого начала…