NODE和CMS与angularjs:他们如何合作

我正在考虑用MEAN堆栈做些什么。 我需要一种方法来编辑网站的内容,如WordPress的提供(基本上是一个CMS)。

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

在我使用的其他CMS中,视图的创build发生在服务器端。 在Angular中,就我所知,您创build了一个HTML模板,您可以在angular度控制器中填充数据。 这也看起来像CMSs和Angular之间可能会崩溃。 这是这种情况吗?

对于我应该了解的angular度和内容pipe理系统还有什么其他的怪癖或者类似的问题吗?

meanjs.org有一个相当不错的方法来做到这一点。 安装meanjs。 它带有一个sigin /注册,甚至可以让你从香草安装创build文章。

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

首先:Angular会在$ routeProvider中定义路由。 首先在AngularJS中构build路由URL。 他们是您的networking应用程序的“路线”。 看看它的一个好方法是构buildAngularJS部分,以便能够更改您的api服务器,甚至可以根据需要更改为其他语言(PHP,Python,Go等)。

第二:build立你的AngularJS与$资源的API传达。 基本上$资源是一个简单的方法来调用一个API使用宁静的路由。 这个“宁静的路由”现在是需要被“模仿/复制”到node.js路由的路由中的路由。

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

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

基本上,你需要三套路线(如果你是廉价的话,则需要两套路线)。

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

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

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

如果你是像Gawker那样便宜的话,那么你会跳过第一组路线,直接进入JS + REST方法。

我创build了一个AngularJS + KeystoneJS Skeleton初学者应用程序,如果你想在KeystoneJS中使用MEAN,应该可以帮助你入门:

https://github.com/dvdcastro/keystonejs-ng-skeleton

我想你需要在MEAN堆栈开发环境中使用CMS。 在平均堆栈上有一些cms你可以尝试。

  1. PancilBlue
  2. Calipso的

尝试这个。

我正在尝试类似的东西,我发现这个链接非常有用AngularJsCMS它已经讲述了基于angularjs的自由响应cms,并且有能力创build像wordpress和pipe理内容的页面。

我们一直在使用angular和keystonejs来开发一个项目。 只需提供在keystone中find的默认模板布局,并在body标签中注入data-ng-view标签即可。 将此模板用于“/”的所有请求。

然后写你的angular度应用程序通常消耗端点。 这些端点可以使用api中间件在keystone中完成。 在routes/index.js文件中,使用自定义端点的名称在routes对象中添加一个键/值对,然后导入包含您的端点函数定义的文件夹。

var routes = { views: importRoutes('./views'), api: importRoutes('./api') };

 exports = module.exports = function(app) { app.get('/api/posts', keystone.middleware.api, routes.api.post.index);} 

我最近将我的博客迁移到了MEANie – 我开发的轻量级定制MEAN Stack CMS。

我把它开放给任何人使用,并在http://jasonwatmore.com/meanie上的博客上发布详细信息和设置说明。