Я создал 2 приложения React с именами client
и admin-client
, оба из которых используют create-react-app
.
В admin-client
я хотел бы повторно использовать некоторые компоненты, которые уже существуют в client
во избежание дублирования кода.
Например, у меня есть Header.jsx
файл внутри client/src/components/
каталога, который я хочу использовать в admin-client
, который выглядит следующим образом:
import React from 'react';
function Header() {
return (
<header>
<h2>Hello World!!</h2>
</header>
);
}
export default Header;
Вот что я попробовал (и не смог):
Я создал файл .env
внутри admin-client
каталога проекта следующим образом:
NODE_PATH='./../'
(admin
и admin-client
находятся в одном родительском каталоге)
Затем внутри admin-client/src/App.jsx
я пытаюсь импортировать Header.jsx
следующим образом:
import React from 'react';
import {Header} from 'client/src/components/Header.jsx';
function App() {
return (
<div>
<Header />
</div>
);
}
export default App;
Но я получаю следующую ошибку:
../client/src/components/Header.jsx 5:8
Module parse failed: Unexpected token (5:8)
You may need an appropriate loader to handle this file type.
| function Header() {
| return (
> <header>
| <h2>Hello World!!</h2>
Я предпочитаю найти решение, не связанное непосредственно с Babel и / или Webpack, потому что именно поэтому я использую create-react-app
в первую очередь.