带angularjs和expressjs的路由问题
Express.js传送带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
/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')