AngularJs,NodeJs路由问题
我的应用程序基于NodeJs和AngularJs SPA。 我遇到了路由问题。 该应用程序是复杂的。 为了更容易解释这个问题,我创build了一个简单的待办事项应用程序。
节点服务器代码(server.js)
var express = require('express'), path = require('path'), publicPath = path.normalize(__dirname + '/public'), Todos = require('./Todo'); var app = express(); app.configure(function() { app.use(express.logger('dev')); app.use(express.cookieParser()); app.use(express.bodyParser()); app.use(express.session({secret: 'This is Top secret'})); app.use(express.static(publicPath)); }); app.get('/api/Todos',Todos.getTodos); app.get('/api/Todos/:id',Todos.getById); app.put('/api/Todos/:id', Todos.update); app.post('/api/Todos/:id', Todos.create); app.delete('/api/Todos/:id', Todos.delete); app.all('/api/*', function(req, res) { res.send(404); }); app.get('*', function(req, res) { res.sendfile(publicPath+'/index.html'); }); app.listen(3000); console.log('Listening on port 3000');
AngularJs路由相关代码(app.js)
angular.module('app', ['ngRoute']); angular.module('app').config(function($routeProvider, $locationProvider) { $routeProvider .when('/', { templateUrl: 'views/home.html', controller: 'HomeCtrl'}) .when('/Todos', { templateUrl: 'views/todo.list.html', controller: 'TodoListCtrl' }) .when('/Todos/Edit/:id', { templateUrl: 'views/todo.edit.html', controller: 'TodoEditCtrl' }) .otherwise({ redirectTo: '/' }); $locationProvider.html5Mode(true); });
在这个/ Todos路由工作,但/ Todos /编辑/:ID路由不起作用。 如果我通过href / ng-href导航到该路由,则浏览器挂起,然后崩溃。
我无能为力 请引导我。 提前致谢。
- 与angular和节点的Oauth
- 有效的alphabetizes GET响应
- 将Azure Cloud用作AngularJS应用程序的后端
- $ location.path不使用Angularjsbutton点击加载html文件
- 使用Node.js和AngularJS提供静态文件
- 如何replaceObjectId ref。 与来自MongoDB的实际对象(idealy在服务器端)?
- http-proxy-middleware:无法将localhost:9000redirect到本地主机:8888从nodejs到JettY
- 如何编译Node.js和Angular
- Socket.IO Angular Server到服务器连接