Jon*_*ano 9 url-routing node.js express angularjs mean-stack
我正在努力研究Angular和Express Routing(顺便说一句,我不知道是Express的新手),我一直用Angular处理路由 - 用ui-router - 但现在我开始构建一个MEAN.js应用程序我注意到我可以处理服务器端路由和客户端路由......这就是让我感到困惑的原因,这里有一些我的问题:
如果有人可以详细解释这些问题,以及人们需要知道的其他额外事情我会非常感激.
另外,我想知道的是:我只需要在Express中设置服务器内容,还是需要在Node中编码?
Express中的路由与角度中的路由略有不同
在快递
路由是指应用程序的端点(URI)的定义以及它如何响应客户端请求.
因此,如果您使用angularjs进行路由,那么您不需要使用express为html模板设置路由.
您只需使用express来创建RESTAPI,然后使用angularjs $http或者使用这些API$resource
摘要:
例
这是创建rest API的快速路由.
app = express();
app.get('/dowork',function(res,req){
console.log(req.params.msg);
/... code to do your work .../
});
Run Code Online (Sandbox Code Playgroud)
现在在angularjs呼叫做工作
$http.get('http://localhost:8080/dowork',{"msg":"hi"}).success(function(data){
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
这里只要两分钱。其他专家应该纠正我并进一步解释:
前端路由通常是指#后面的url中的路由管理。这是因为浏览器会忽略 # 之后的任何内容。因此,Angular 利用它来进行动态 ajax 调用并根据 # 之后的路由路径获取资源。
express处理的是#前面的url。这用于从浏览器向服务器发出实际请求。
它们有何不同:回答
如果我切换到 Express 路由,我仍然会有 SPA :
如果您在前端手动管理 url,同时进行 ajax 调用来填充单个页面,那么您始终可以拥有 SPA。在前端管理 url 应该以可读性为目的。
我可以同时使用两者吗?如何?:
每个人都使用两者。SPA 也同时使用两者。通常,基于身份验证的事物由快速路由处理,而授权和其他基于路由的交互(例如请求资源等)则使用前端路由。即使你使用前端路由,对于后台的ajax请求,你仍然依赖express的路由。
这是好的做法吗?它有什么好处吗?:
使用 Express 的路由进行身份验证并提供资源,并使用前端的 Angular 路由来保持 SPA 正常运行始终是一个很好的实践。
我什么时候应该只使用其中之一?: 已回答
我将如何处理路由参数?:
有一些参数可以使用路由参数(如果使用 ng-route)在前端处理,也可以在后端使用 slug、bodyparser 等处理。你需要抽出一些时间来学习这些。
| 归档时间: |
|
| 查看次数: |
5025 次 |
| 最近记录: |