我正在使用lerna
处理 monorepo 。我有一个主程序包,我的应用程序(app
),这是一个react
应用程序和一些其他程序包,通常是react
组件。
App.js
import React, { Component } from 'react';
import CollectionBrowser from '@elmc/app-collection-browser';
import './App.css';
export default class App extends Component {
render() {
return (
<div className="App">
<header>...</header>
<CollectionBrowser />
</div>
);
}
}
我在这里导入导出CollectionBrowser
组件的react
:
CollectionBrowser.js
import React, { Component } from 'react';
export default class CollectionBrowser extends Component {
render() {
return <div>foobar</div>;
}
}
现在有两件事让我烦恼:
react
两次,一次在我的主应用程序中,另一次在我的CollectionBrowser中独立于此。是否有一种很好的方法可以只将react
捆绑一次?答案 0 :(得分:0)
您可能会对使用它的每个程序包作出 peer 依赖性作出反应。这样,基于react的任何一个项目都可以选择其版本,并且只能添加所需的软件包。
或者第二种方法是在你的库中安装一个ui-core软件包这个ui-core可以作为一个依赖项做出反应,所有其他使用react的软件包都可能需要它。
关于2,我们基于每个包构建和发布所有内容。