Я пытаюсь создать монорепозиторий с двумя пакетами React:
- TypeScript (npx create-react-app
app
--template typescript) - JavaScript (
ui
)
У меня базовая lerna.json
конфигурация
{
"packages": ["packages/*"],
"version": "1.0.0"
}
В пакете ui
я просто экспортирую одну кнопку (из src/Button.jsx
):
import React from 'react';
const Button = () => {
return (
<button>
Start
</button>
)
}
export default Button;
Я запустил app
, чтобы использовать пакет ui
. Импорт внутри app
вызывает следующую ошибку:
Failed to compile
/lerna-demo/packages/ui/src/Button.jsx 5:4
Module parse failed: Unexpected token (5:4)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| const Button = () => {
| return (
> <button>
| Start
| </button>
Есть ли способ добавить загрузчик в lerna или app
, чтобы исправить импорт?
РЕДАКТИРОВАТЬ
Структура проекта:
lerna-demo/
- node_modules/
- lerna.json
- package.json
- packages/
- app (created using create-react-app)
- ...
- ui
- node_modules/
- package.json
- yarn.lock
- src/
- Button.jsx
Как я импортирую компонент Button:
import React from 'react';
import logo from './logo.svg';
import './App.css';
import * as Button from 'ui/src/Button';
const App: React.FC = () => {
return (
<div className="App">
<Button />
</div>
);
}
export default App;
"noImplicitAny": false
в tsconfig.json - person Bartek   schedule 04.04.2020