我正在尝试使用Angular Router和NodeJS服务器运行AngularJS。我不打算在Node中提供各种视图,而是想使用角度路由器。第一页正确提供,没有错误,但当我尝试单击另一个链接时,浏览器显示以下内容 error code。下面是服务器脚本,路由脚本以及HTML中链接的相关代码。
HTML链接
<li><a href="./add">Add Workout</a></li>
Server.js
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/public/app/views/home.html'));
});
app.use(express.static('public'));
App.js
var app = angular.module("fitness2Uapp", ["ngRoute"]);
app.config(function($routeProvider) {
$routeProvider
.when("/", {
templateUrl : "./app/views/home.html"
})
.when("/browse", {
templateUrl : "./app/views/browse.html"
})
.when("/add", {
templateUrl : "./add.html"
})
.when("/workout", {
templateUrl : "./app/views/workout.html"
});
});
答案 0 :(得分:0)
尝试放入一个只能重定向回主页的“全部捕获”路径。这将允许角度路由机制启动。现在问题是它正在尝试在节点服务器上找到“/ add”的端点路径,但没有找到任何内容。这应该是您服务器上建立的 最后 路由。
我个人使用AngularJS并且必须这样做,一切都很好。不确定这是否也会像Angular2 +
一样运行// Catch all if all other routes fail to match.
app.get('*', (req, res) => {
res.sendFile(path.resolve(`${__dirname}/path/to/home.html`));
});