当我在 url 中拉localhost:5000/ login 时,我得到Cannot GET /login 。所以 $routeProvider 不工作并加载视图。相反,它正在向服务器发出请求,因此基本上它是将页面获取到服务器。但我不想将页面获取到服务器,而是想加载视图。我的应用结构如下:
lib
node_modules
public
----js
---------所有js文件,如angular,script.js文件在这里
----stylesheets
---------所有css文件在这里
查看
app.js (主节点文件)
home.html
index,html
login.html
npm-debug.log
我在服务器端使用 app.js 进行了以下设置:
var express = require('express'),
path = require('path'),
app = express(),
server = require('http').createServer(app)
//io = require('socket.io').listen(server);
app.use(express.static(path.join(__dirname, '/public')));
app.use( app.router );
server.listen(5000);
console.log('listerning to port 5000');
app.use(function(req, res){
res.sendfile('./index.html', {root: __dirname});
});
在客户端部分,Angular script.js 看起来像这样:
var app = angular.module('app', [])
.config(['$routeProvider','$locationProvider', function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$routeProvider.when('/login', {
template: 'login.html',
controller: 'LoginController'
});
$routeProvider.otherwise({redirectTo: 'login'});
}]);
我的 index.html 文件有一个指令
我不知道我做错了什么。任何帮助都可能很棒。