【发布时间】:2019-10-29 18:06:29
【问题描述】:
我创建了 2 个 React 应用程序,名为 client 和 admin-client,均使用 create-react-app。
在admin-client中,为了避免代码重复,我想重用一些已经存在于client中的组件。
例如,我在client/src/components/ 目录中有一个Header.jsx 文件,我想在admin-client 中重用它,如下所示:
import React from 'react';
function Header() {
return (
<header>
<h2>Hello World!!</h2>
</header>
);
}
export default Header;
这是我尝试过的(但失败了):
我在admin-client 项目目录中创建了一个.env 文件,如下所示:
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 的原因。
【问题讨论】:
标签: javascript node.js reactjs create-react-app