在同一个应用程序中可以有两个前端模块吗?如果是,如何



前言

我有一个渐变项目,Bookstore,项目目录看起来有点像:

Bookstore
- bs-application
- bs-config
- bs-controller
- ...
- bs-frontend
- gradle

最近,我们决定暂时集成一个由另一个模块控制的/admin路由,以便在时机成熟时可以干净地删除它——它还将使用许多额外的库&用于较新前端开发的软件包。

项目目录现在看起来是这样的:(所有内容都分开(

Bookstore
- bs-application
- bs-config
- bs-controller
- ...
- bs-frontend
- gradle
- admin-config
- admin-controller
- admin-sal
- admin-frontend

可能有用的额外信息

bs-frontend中,我有我的Bookstore.js,它本质上是

<BrowserRouter>
<Switch>
<Route exact path='/' component={Home}/>
<Route exact path='/login' component={Login}/>
<Route exact path='/about' component={About}/>
...
...
</Switch>
</BrowserRouter>

我的问题

两者都是基于反应的&当用户点击/admin时,我希望他们看看admin-frontend模块下构建了什么。如果这是永久性的,我只需要在bs-frontend中构建一个Admin组件,制作另一条路由,然后使用它——但我在这里不能做到这一点如何将这些应用程序集成在一起

我不确定该提供什么信息,因为我不确定什么是有用的,所以请告诉我是否/我可以添加什么来提供更多帮助。

根据我的理解,bs-frontendadmin-frontend是两个不同的应用程序,希望在它们之间共享组件
在这种情况下,我们有两种不同的选择。

  1. 发布为包:您可以将admin组件发布为npm包可以在bs-frontend中作为node_module使用的组件(我相信您在ur.org中有npm私有注册表(
  2. 您可以尝试使用名为">"的webpack 5功能;模块联合">,它将公开组件并可以在您的bs-frontend应用程序中消费

相关内容

  • 没有找到相关文章

最新更新