#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. Так что на самом деле он настроен так, чтобы действовать так с самого начала…