我为这样的网页创建路由
angular.module("ui",[]).config(function($routeProvider,$locationProvider,$httpProvider)
{
$routeProvider.when('/home',
{
templateUrl: 'home.html'
})
.when('/login',
{
templateUrl: 'login.html'
})
.when('/sign_in',
{
templateUrl: 'create_account.html'
})
.when('/profil',
{
templateUrl: 'profil.html'
})
.when('/note/:id',
{
templateUrl: 'view_note.html'
})
.when('/editNote/:id',
{
templateUrl: 'edit_note.html'
})
.otherwise({
redirectTo: '/home'
});
$locationProvider.html5Mode(true);
});
和服务器端代码(expressjs)
app.get('/*', function(req, res) {
res.sendFile(__dirname + '/views/index.html')
});
app.get('/note/:id', function(req, res) {
res.sendFile(__dirname + '/views/index.html')
});
app.get('/note/*', function(req, res) {
res.sendFile(__dirname + '/views/index.html')
});
app.get('/:id', function(req, res) {
res.sendFile(__dirname + '/views/index.html')
});
所以我的所有路由配置运行都很完美,但是当我尝试刷新页面时,除了具有/editNote/:id
路由配置的页面之外,几乎所有页面都正常运行。那么如何解决这个服务器端路由问题(expressjs)
答案 0 :(得分:0)
在服务器文件上添加:
app.get('/note/*', function(req, res) {
res.sendFile(__dirname + '/views/index.html')
});
和删除
{{1}}
答案 1 :(得分:0)
最后我可以找出真正的问题,它导致了mongoose route和express / angularjs route之间路由的同名。所以我改变了angularjs路线名称