React не удалось импортировать компонент-модуль не найден
Я только начал с React.js и я не можем импортировать компонент.
у меня есть эта структура, за которой следует этот учебник (ссылка на YouTube) :
-- src
----| index.html
----| app
------| index.js
------| components
--------| MyCompontent.js
это мой index.js
:
import React from 'react';
import { render } from 'react-dom';
import { MyCompontent } from "./components/MyCompontent";
class App extends React.Component {
render() {
return (
<div>
<h1>Foo</h1>
<MyCompontent/>
</div>
);
}
}
render(<App />, window.document.getElementById('app'));
это MyComponent.js
:
import React from "react";
export class MyCompontent extends React.Component {
render(){
return(
<div>MyCompontent</div>
);
}
}
Я использую этот файл webpack (ссылка GitHub).
однако, когда я запускаю это, мой модуль не загружается.
Я получаю эту ошибку в браузере консоль:
ошибка: не удается найти модуль "./ компоненты / Микомпонент"
[WDS] Hot Module Replacement enabled. bundle.js:631:11
[WDS] Errors while compiling. bundle.js:631:11
./src/app/index.js
Module not found: Error: Cannot resolve 'file' or 'directory' ./components/MyCompontent in /home/kuno/code/react-hoteli/src/app
resolve file
/home/kuno/code/react-hoteli/src/app/components/MyCompontent doesn't exist
/home/kuno/code/react-hoteli/src/app/components/MyCompontent.webpack.js doesn't exist
/home/kuno/code/react-hoteli/src/app/components/MyCompontent.web.js doesn't exist
/home/kuno/code/react-hoteli/src/app/components/MyCompontent.js doesn't exist
/home/kuno/code/react-hoteli/src/app/components/MyCompontent.json doesn't exist
resolve directory
/home/kuno/code/react-hoteli/src/app/components/MyCompontent/package.json doesn't exist (directory description file)
/home/kuno/code/react-hoteli/src/app/components/MyCompontent doesn't exist (directory default file)
[/home/kuno/code/react-hoteli/src/app/components/MyCompontent]
[/home/kuno/code/react-hoteli/src/app/components/MyCompontent.webpack.js]
[/home/kuno/code/react-hoteli/src/app/components/MyCompontent.web.js]
[/home/kuno/code/react-hoteli/src/app/components/MyCompontent.js]
[/home/kuno/code/react-hoteli/src/app/components/MyCompontent.json]
@ ./src/app/index.js 11:20-56 bundle.js:669:5
не могу понять, что здесь пошло не так.
4 ответов
у вас есть опечатка в вашем импорте. Вы просите MyCompontent
. Изменить на:
import MyComponent from "./components/MyComponent";
и все опечатки, а также.
для тех, кто приезжает сюда без опечатка и использует Webpack, обязательно проверьте наличие такого предложения:
resolve: {
extensions: [".jsx", ".js"]
},
в своем webpack.конфиг.js.
Это говорит вашему транспилеру разрешать операторы, такие как:
import Setup from './components/Setup'
to
import Setup from './components/Setup.jsx'
таким образом, вам не нужно расширение.
вы можете попробовать импортировать MyCompontent из "./ компоненты / Микомпонент.js"
такой
import MyCompontent from "./components/MyCompontent.js";
вы написали, что имя файла является MyComponent.js.
таким образом, ваш импорт должен выглядеть как
import { MyCompontent } from './components/MyComponent.js'