gpt4 book ai didi

javascript - 浏览器通过 Angular 路由在 SPA 内触发重新加载

转载 作者:行者123 更新时间:2023-11-30 17:14:46 26 4
gpt4 key购买 nike

我有一个由节点提供服务的 Angular SPA,但每当我刷新/重新加载非根页面时,基于 express 的服务器会拦截路由并返回“无法获取 route_X”。我的路由缺少什么功能来启用此刷新行为?

angular.module('appRoutes', []).config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {

$routeProvider

.when('/', {
templateUrl: 'views/nests.html',
controller: 'NestController'

.when('/pair/:id', {
templateUrl: 'views/pairing.html',
controller: 'PairController'
})

.when('/pairs', {
templateUrl: 'views/pairs.html',
controller: 'PairListController'
});

$locationProvider.html5Mode(true);

}
]);

我在我的 express 服务器中定义的唯一路由如下...

app.get('/', function(req, res) {
var html = fs.readFileSync('public/views/index.html', 'utf8');
res.send(html);
});

所有其他路由功能都存在于索引文件中。

最佳答案

您必须将所有请求(静态请求除外)路由到 index.html:

app.use("/js", express.static(__dirname + "/public/js"));
...

app.all('/*', function(req, res) {
var html = fs.readFileSync('public/views/index.html', 'utf8');
res.send(html);
});

关于javascript - 浏览器通过 Angular 路由在 SPA 内触发重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26330112/

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