Javascript AngularJS和Node.js与ExpressJS集成
我正在尝试用Node.js和Express和Angularjs编写一个应用程序 我是否允许AngularJS处理所有着陆请求?Node.js纯粹是为了API?这意味着Node.js中编写的所有路由都将如下所示:Javascript AngularJS和Node.js与ExpressJS集成,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试用Node.js和Express和Angularjs编写一个应用程序 我是否允许AngularJS处理所有着陆请求?Node.js纯粹是为了API?这意味着Node.js中编写的所有路由都将如下所示: app.get('/api/users', users.showAll); app.post('/api/users', users.create); app.get('/api/users/fb/:fbId', users.findByFb); app.get('/api/users/
app.get('/api/users', users.showAll);
app.post('/api/users', users.create);
app.get('/api/users/fb/:fbId', users.findByFb);
app.get('/api/users/:userId', users.show);
app.put('/api/users/:userId', users.update);
app.del('/api/users/:userId', users.del);
AngularJS将能够自行解析URL,例如localhost/users/Some Name
将两者集成在一起时,需要遵循哪些最佳实践
另外,是否建议将AngularJS和Node.js应用程序分为两个不同的应用程序?有什么方法可以做到这一点
提前谢谢 很明显,任何应用程序的设计和细微差别都会决定它应该如何设置,但您肯定可以让一个单页web应用程序以AJAX请求返回node.js服务器端API的方式运行。我已经用这种方式创建了许多中小型应用程序 Node.js可以按照您设计的方式处理您的API,但是您需要在Node中使用一些初始路径,用户最初会点击这些路径来打开HTML页面,该页面将引导angular.js应用程序并加载您需要的任何其他javascript和css库。您将定义该路由,然后在节点应用程序中设置静态资源,以便浏览器可以加载这些内容来启动angular应用程序 angular应用程序本身将包含在javascript文件中,这些文件将位于express应用程序的静态资源文件夹中。通常,像/js/myNgApp.js这样的东西可以开始工作,但是通过将控制器、指令、服务等分离到它们自己的js文件中,您可以获得更多的异国情调。这是你以后可以做的事情 一旦angular应用程序加载并在浏览器中运行,您只需要使用in angular来定义指向api in节点的ajax URL,然后让angular客户端对这些URL执行get或post(或其他)请求 如果应用程序中需要安全性,那么在加载angular应用程序之前,需要将其实现为页面和url。express的安全框架可以帮助您实现这一点。我用
在Chrome中,开发者工具(尤其是网络标签)将成为你最好的朋友 @BoxerBucks的答案非常准确。我在github上有一个Express/Angular/Bootstrap/Grunt的入门项目,可以帮助您上路:非常感谢您的建议,我一定会看看passport。。它似乎还具有OAuth功能,这将有助于验证api调用方。是的,passport具有与Twitter、Facebook和其他一些源集成的OAuth,或者您可以使用其他OAuth源。我从未使用过自己的OAuth源代码,但如果您使用了,您也可以连接到它。