我在一个角度的应用程序。我们基于
https://github.com/Swiip/generator-gulp-angular的应用程序,一切正常。这个有角度的种子项目基本上会扫描目录中的所有JS文件,并将其并入到单个JS文件中。
我们正在为计费系统构建管理后台。客户现在也想为所有客户提供“公共后台”。一个客户端基本上登录发送消息的地方。用户界面对于公共后端是一样的,我们可以在任何地方重复使用相同的指令。唯一的问题是公共后端很小,管理后台是巨大的。我不认为将完整的管理员应用程序提供给随机客户端是一个很好的做法。
如何从相同的代码库构建两个应用程序?
不要从同一代码库提供两个应用程序。这是灾难的秘诀。这是我如何处理这个的粗略的概述:
原文链接:https://www.f2er.com/angularjs/144414.html>审核您已经构建的应用程序。确定哪些组件可在两个项目之间重用,并将其确定为您的基础项目项目。
>如果你在建立模块化的东西,这不应该是制动。您可能需要重构才能使自己处于正确的位置。 John Papa’s Angular Styleguide将是一个伟大的地方,帮助在这方面(这是伟大的,因为我学到了Angular)。
>将该基础前端项目转换为可以独立于您的自定义应用程序代码进行更新的低级依赖项。 More on creating a Bower package here.也许你甚至可以开源你所建的?
>在您的模块化基础构建之上构建自定义功能。每组自定义功能将是您的一个应用程序(在您的情况下,这听起来像一个管理面板和一个公共应用程序)。
>发布后,如果一个产品团队基本相同,您可以管理应用程序。确定哪些功能是常见的,将其构建到基础应用程序中,并通过bower将这些更改部署到两个自定义应用程序。在每个项目的基础上添加自定义功能;如果代码分歧足够,您可以将其分成两个产品团队。
如其他人所说,您将使用一个良好的构建工具(如Grunt / Gulp)来管理应用程序,这将为您提供通用的依赖关系。