繁体   English   中英

浏览器通过角度路由触发SPA内部重新加载

[英]Browser triggered reload inside SPA with angular routing

我有一个由节点提供服务的角度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);

  }
]);

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

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);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM