angularjs - 白标应用程序的站点架构

标签 angularjs railo coldbox

我即将启动一个白标签服务器端应用程序,但我不想立即开始编码。这是我以前不需要做的事情,至少不是从头开始,而这次我是掌控者!

我开发过许多应用程序,无论好坏,但在大多数应用程序中,我总是注意到从架构的 Angular 来看,应用程序背后缺乏思考,而这种思考最终又回来并咬住了我们。这并不是针对任何人的反射(reflect),大多数时候我们都受到调用电话的业务的约束。无论如何...

我决定使用 Railo、Coldbox 和 AngularJs 使用 mysql。但这不是讨论的重点,更多的是仅供引用。

我寻求帮助的是如何设计一个网站,以便我能够保存核心和自定义代码(我将其称为客户端代码)。是的,不幸的是,我对此进行了研究,但没有太多讨论如何解决这个问题。

我这是什么意思?我想要一个网站的基本外壳,其中一组代码文件可以由多个客户端使用,例如,用于注册、公司详细信息、登录、语言设置等的模块。但是,每个客户端总是有请求对于自定义,所以我希望能够使用客户端代码覆盖核心代码。

我对 Coldbox 基础知识(即一个代码库一个站点)有很好的了解,但不足以实现我的目标。

这是 Coldbox 应用程序的基本结构,这也是我查看客户端目录结构的方式。

+应用程序根
|---+ 配置
|---+ 框架
|---+ 处理程序
|---+ 插件
|---+ 布局
|---+ 浏览量
|---+ 包括
|---+ 拦截器
|---+ 型号
|---+ 模块
|---+ Application.cfc
|---+i​​ndex.cfm

如果以上是一个客户端应用程序的基本结构,它将如何扩展到核心代码?请记住,我认为核心代码将保存模块的 dao、service、gateway、bean。这些文件将存放在哪里?核心代码在其他文件夹中是否具有类似的结构?

+应用程序根
|---+ 核心代码
|-----+框架
|-----+ 插件
|-----+ 拦截器
|-----+ 浏览次数
|-----+ 型号
|-----+ 模块

---+ 客户端
|-----+ 根据上述客户端目录结构

---+ 客户端二
|-----+ 根据上述客户端目录结构

感谢您花时间阅读本文,希望您能引导我走向正确的方向。

最佳答案

您需要的是一个用于存放常见 ColdBox 对象的文件夹,这些对象将在客户端之间共享。您可以configure these locationsColdBox.cfc中。

coldbox = {
    // .. settings above

    //Extension Points
    UDFLibraryFile              = "includes/helpers/ApplicationHelper.cfm",
    coldboxExtensionsLocation   = "",
    modulesExternalLocation     = ["/common/modules/"],
    pluginsExternalLocation     = "",
    viewsExternalLocation       = "",
    layoutsExternalLocation     = "",
    handlersExternalLocation    = "",
    requestContextDecorator     = "",

    // .. more settings below
};

您的网络根目录可能如下所示:

- clientA
    - skeleton
- clientB
    - skeleton
- clientN
    - skeleton
- common
    - extensions
    - handlers
    - layouts
    - modules
    - plugins
    - requestContextDecorator
    - views

您可以override layouts and views也符合标准 ColdBox 约定,但这不会出现在您的 AngularJS 代码中吗?

至于覆盖处理程序操作,这是可能的。我的公司为此有一个自定义流程,但我们尚未将其开源。

希望这有帮助。

关于angularjs - 白标应用程序的站点架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24923229/

相关文章:

angularjs - 以 Angular 保护观察者? (ng-重复 POV)

javascript - ng-submit 未执行

css - 如何在 Coldbox 中使用 html.select 为 "blank"值设置 selectedValue?

dependency-injection - 如何使 WireBox 注入(inject)的依赖项可用于构造函数方法?

coldfusion - setNextEvent() 可以持久保存要在 prc 中恢复的变量吗?

javascript - 如何限制用户在 ui-ace 编辑器中只写一个 javascript 函数(方法)

javascript - Angularjs 种子中的index.html 和index-async.html 有什么区别?

regex - jSoup - 如何获取具有背景样式的元素(内联 CSS)?

sql - 使用 cfsqltype 是好习惯吗?

Railo 服务器将加号 (+) 转换为空格