gpt4 book ai didi

node.js - Express + Angular 路由导致无限循环+崩溃

转载 作者:搜寻专家 更新时间:2023-10-31 22:36:56 26 4
gpt4 key购买 nike

我正在使用 Express 和 Angular 开发一个 Node 应用程序。我正在使用 Angular 进行路由,我的路由设置如下:

app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/partials/main'
//controller: 'IndexController'
}).when('/discover', {
templateUrl: '/partials/discover'
}).when('/user/home', { //HERES THE PROBLEM CHILD!!!!!
templateUrl: '/partials/user/home'
}).otherwise({
redirectTo: '/'
});
}]).config(['$locationProvider', function ($locationProvider) {
$locationProvider.html5Mode(true);
}]);

现在,每当我尝试调用 /user/home - 页面进入无限循环并不断重新加载 Controller 。我可以在 Node 控制台中看到该页面是从 partials/user/home 调用的,其中肯定包含一个 Jade 文件。我检查了其他帖子,其中大部分都是在部分路径的开头用 ass the / 解决的,这对这里没有帮助。如果我将 home.jade 转移到没有子目录的 /partials 目录中,页面加载正常。有什么想法吗?

更新:似乎只要我尝试在任何子目录中加载部分,就会发生无限循环。

每个请求:

Node ——App.js:

app.get('/', routes.index);

app.get('/partials/:name', routes.partials);
app.get('*', routes.index);

和routes/index.js

exports.index = function(req, res) {
res.render('index', { title: 'Open Innovation Station' });
}

exports.partials = function(req, res) {
res.render('partials/' + req.params.name);
}

最佳答案

使用 html5Mode(true) ,你将不得不关心任何相对路径——你正在使用你的局部路径。我相信,您的案例中的递归可以通过添加来解决:

<base href="/"></base>

到您的<head> .

关于node.js - Express + Angular 路由导致无限循环+崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18553847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com