我正在进行角度应用.我们的应用程序基于https://github.com/Swiip/generator-gulp-angular,一切正常.这个角度种子项目基本上扫描目录中的所有JS文件,并在您投入生产时将它们连接成一个JS文件.
我们正在为计费系统构建管理员后端.客户现在还希望为所有客户提供"公共后端".客户端基本上登录并发送消息的地方.UI对于公共后端是相同的,我们可以在任何地方重复使用相同的指令.唯一的问题是公共后端很小,管理员后端很庞大.我不认为为随机客户端提供完整的管理员应用程序是一种很好的做法.
如何从同一代码库构建两个应用程序?
不要从同一代码库中提供两个应用程序.这是灾难的秘诀.这是我如何处理这个问题的大致概述:
正如其他人所指出的那样,您将使用像Grunt/Gulp这样的良好构建工具来管理应用程序,这将为您提供公共依赖项.
我也不得不不同意接受的答案。维护一个代码库更加简单明了,并且耗时更少,并且在您的项目扩展到需要独立部署和构建的大量应用程序的情况下,这将是有利的。
定义构建
每个应用程序将有一个app.js文件,用于定义要导入的组件并从中进行构建。该结构可能类似于以下内容:
components
-- component-1
-- component-2
-- component-3
app-1
-- app.js
app-2
-- app.js
Run Code Online (Sandbox Code Playgroud)
要构建app-1,我们需要组件1和3,因此在app-1 / app.js中我们将定义:
require('../components/component-1/file.js')
require('../components/component-3/file.js')
Run Code Online (Sandbox Code Playgroud)
如果要单独部署与用户相关的设置,则可以创建UserSettings模块及其自身的路由,并包括该模块所需的组件。然后,该模块将包含在您的应用程序的构建中。这同样适用于路由,配置,运行等-最佳情况下,它们全部都属于一个模块或组件。
依存关系
在某个时候,您将面临以下问题:您是否要一次性捆绑所有应用程序的依赖关系,还是要为每个应用程序单独创建捆绑包。到目前为止,我想出的唯一解决方案是为每个应用程序整理依赖项的手动列表,并根据该列表执行捆绑程序,但是我敢肯定有更好的方法。
| 归档时间: |
|
| 查看次数: |
2352 次 |
| 最近记录: |