如果这个问题过于开放,我很抱歉。但我很难得到一些原则,让我开始深入研究这个问题。
我计划用这个种子构建一个很小的演示应用程序(基于角2):https://vmware.github.io/clarity/get-started
我想在一个角度UI中呈现一些我保存在后端Redis数据库中的基本数据。
我试图找出我应该使用什么应用层坐在Redis和角度UI之间。
我目前正在考虑使用Ruby (仅仅是因为我对它稍微熟悉)还是使用Node.js。
我挣扎的部分原因是我对Node.js和角质2之间的关系感到困惑,我想知道使用Node代码是否可以帮助我更好、更容易地与角(而不是与Ruby)集成。
除了使用相同的语言/语法(js)之外,我的直觉是,我可以更容易地运行一个Node "app.js“文件,其中包含一些琐碎的业务逻辑,这些逻辑从Redis读取并将结果传递给角应用程序。至少,我可以在运行角应用程序的同一个http实例上运行app.js逻辑(我的假设)。
如果我想使用Ruby,我必须使用一些web框架(例如Rails或Sinatra)来服务来自角度应用程序的请求(例如,在Ruby中,我必须调用http://myrubysrv/applogic
)。
除了语言和部署细节之外,我只是想知道,如果我使用Node,或者无论使用Node还是Ruby,将变量从应用程序逻辑组件传递到角应用程序是否会更容易。
谢谢。
发布于 2017-05-17 21:44:46
你在这里确实有一些选择。2+应用程序编译到本质上只是一个index.html
,它将处理其他必要视图的加载。因此,您只需要能够为index.html
文件提供服务的东西,并且您的应用程序API可以完全独立于您的服务应用程序。根据您的托管方式,这里有很多选项(例如,托管前端的GitHub页面和Heroku上的后端)。
Rails使建立一个仅使用API的应用程序变得轻而易举,并且在Redis中运行得很好。在这里,我想说这绝对是最简单的选择;如果您确实需要将特定于环境的信任传递给这个有角度的应用程序,那么在启动启动时有一些方法可以做到这一点。
Node一直是个不错的选择,但是我从来没有和Node-Redis合作过,所以我不能告诉你那些麻烦。我也可以说Rails可能会更容易。然而,角万向主要支持Node,唯一支持的平台是.NET。如果您想使用或处理通用(超级酷的东西)节点,至少在为应用程序提供服务时是需要的。
节点也将提供一个机会来刷你的打字排骨以外的角度,如果你正在寻找一个学习的机会。
发布于 2017-05-17 21:27:11
角度对你使用的后端是不可知论的。只需从RUby或Node+Expres后端公开REST端点即可。客户端无论如何都会使用这样的东西:
http.get("/products").subscribe(...)
看看这些代码示例,在这些示例中,角向Node:https://github.com/Farata/angular2typescript/tree/master/Angular4/http-node-samples进行对话
https://stackoverflow.com/questions/44034680
复制相似问题