nodeJS+angularJS+express开发时路由的问题
发布于 3 年前 作者 tixin 5237 次浏览 来自 问答

最近angular刚刚看的稍有起色,然后尝试用node+angular开发发现问题,angular有自己的ui-route路由,nodejs也可以设置路由,不同的是如果用angular设置路由的话启动是npm start启动的,而nodejs的路由设置的过之后的话启动用node+入口文件启动,现在迷茫了angular+node+express开发的话路由要怎么设置?

6 回复

标题错了,请先改标题

ui router 是前端的路由, 和后台的 路由没有关系。你只要设置一个路径 把你的 index.html(ng-app)和所有的library 发送到浏览器就好了, 剩下的事情就是 ui router 在做了。 同时你也可以通过 ajax request 发送请求到后台。你可能还需要注意下server side rewrites. 这里有个链接 https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

实际上这是一个前端的mvc(angularjs)和后端的mvc(node)相融合的问题。

楼主的问题解决了吗,我也遇到了angular和express路由冲突的问题了 不知道怎么把express纯API化

没用过angular 但是vue和react的路由都只是前端的 意味着不管你路径怎么走 其实都是在index.html一个文件中 所以就是你想让他走的路径后台全部发送index.html文件 比如

app.get("*",(req,res,next) => { 这里全部发送index.html };

然后把express原本的API 放在这个之前 就会先路由到api 然后路由不到的路径才会发送index.html 然后再在里面设置404页面什么的

可以的 angular路由只是在前端使用,前后端完全分离情况下,前端向后端发送请求全部由node处理,不存在路由冲突的问题.

回到顶部