带angularjs和expressjs的路由问题

带angularjs和expressjs的路由问题,angularjs,express,routing,angularjs-routing,Angularjs,Express,Routing,Angularjs Routing,Express.js传送/question/ask app.get('/question/ask', function (req, res){ console.log('index.js'); console.log('came to question/:id'); res.render('app'); }); 相应的angularjs路由为:- when('/ask', { templateUrl: 'partials/askQuestion', contro

Express.js传送
/question/ask

app.get('/question/ask', function (req, res){
    console.log('index.js');
    console.log('came to question/:id');
    res.render('app');
});
相应的angularjs路由为:-

when('/ask', {
  templateUrl: 'partials/askQuestion',
  controller: 'xController'
}).
鉴于它应该是:-

when('/question/ask', {
  templateUrl: 'partials/askQuestion',
  controller: 'xController'
}).
我在
$locationProvider.html5模式下工作(true)模式

不管怎样,我可以让后面的angularjs路由工作。我使用的是angularjs 1.1.5版本

编辑:-

app.get('/*', function (req, res){
    console.log('index.js');
    console.log('came to question/:id');
    res.render('app');
});
具有相同的问题,角度布线仅为
/question/ask
的最后一个
/ask
布线

我的问题是,我只能做以下一项:-

www.example.com/question/:qId 
www.example.com/discussion/:aId

因为应用程序在('/:id'时只捕获1
,{
因为它不包括前面的
/question/
/discussion/

好吧,如果您在Express和Angular上有相同的路线,如果用户直接在浏览器中键入url,您将点击Express路线,但是如果用户在应用程序中导航,那么他将点击Angular路线

这是你想要的吗

有些人所做的是在服务器上为REST API设置一组不同的路由,并为应用程序提供一个“全覆盖”路由,无论用户类型如何作为URL,当服务器路由被点击时,都会将用户带到主页。当然,在应用程序中,导航是通过角度路由处理的。问题是,没有深度链接ng

其他一些应用程序在服务器和客户端上都有相同的路由,这样它们就可以在任何情况下提供某些内容

有些人会编写包含路由重写的代码,以确保获得应用程序引导代码和所需的URL,从而允许深度链接

干杯

使用角度版本可以解决问题

更改:

var myApp = angular.module('myApp', []);

包括:-

script(type='text/javascript', src='js/angular-route.js')

你似乎知道如何解决这个问题。请看编辑,以了解我的问题。在阅读了你的编辑并重新阅读了你的问题后,我不太确定我第一次是否理解正确。你有没有一个小项目作为我可以看的例子?请看这篇文章,我认为它是相关的,问题来自一个特定的版本关于AngularWhat post?我想我已经找到了解决方案。它使用1.2.0-rc.3 angular.js,而不是1.1.5。对不起:
script(type='text/javascript', src='js/angular-route.js')