具有angularjs的NODE和CMS:他们如何合作

ptf*_*ptf 7 javascript content-management-system node.js angularjs

我正在考虑用MEAN堆栈制作一些东西.我需要一种方法来编辑网站的内容,例如Wordpress提供的(基本上是CMS).

令人困惑的是CMS和Angular如何协同工作.我看过一个名为Keystone的CMS ,你必须在Node中设置一些路由等.你在Angluar设置的路由会不会崩溃?

在我使用的其他CMS中,视图的创建发生在服务器端.在Angular中,据我所知,您创建了一个HTML模板,您可以在角度控制器中填充数据.这似乎也可能在CMS和Angular之间崩溃.是这样的吗?

关于Angular和内容管理系统是否还有其他的怪癖或类似问题我应该知道,或者通常没有太多问题将两者结合起来?

Jon*_*Jon 7

meanjs.org有一个非常好的方法.安装meanjs.它附带一个sigin /注册,甚至允许您从vanilla安装创建文章.

简而言之,当您使用MEAN堆栈创建Web应用程序时,将AngularJS视为"THE"应用程序,将node.js视为api.如果您将Web应用程序构建为javascript应用程序(AngularJS),这恰好从服务器api(node.js)获取其数据,那么您将开始了解如何正确使用MEAN堆栈.

首先:Angular将在$ routeProvider中定义路由.首先在AngularJS中构建路由URL.它们是您的网络应用程序的"THE"路线.查看它的一个好方法是构建AngularJS部分,以便能够在必要时更改api服务器,甚至更改为另一种语言(PHP,python,go等).

第二步:构建你的AngularJS,用$ resource与api进行通信.基本上$资源是使用restful路由调用api的简单方法.这种"宁静路由"现在是需要"模仿/复制"到node.js路由的路由中的路由.

通常,AngularJS路由(url)将匹配与node.js路由匹配的$ resource路由.

再次,看看meanjs.org,你将更好地理解如何正确组织"看起来像"(实际上是)两个独立的应用程序.


Que*_*tin 3

基本上,您需要三组路线(如果您想便宜的话,则需要两组)。

从服务器上返回常规网页的一组路由开始。忘记 JavaScript。在此阶段不要涉及 Angular。

其次,在服务器上添加另一组路由,以原始形式(例如 JSON)返回数据。这通常是 RESTful API。

第三,将Angular添加到客户端。当视图需要更新时,更新浏览器中的 URL 并使用 Ajax 访问 RESTful API 来获取填充视图所需的数据。(您希望地址栏设置的 URL 与您使用 JS 复制的第一组路由中的页面 URL 以及来自 RESTful 路由的数据相匹配)。

如果你像 Gawker那样便宜,那么你会跳过第一组路线,直接采用 JS+REST 方法。