如何使用带有node express的angular 2斜杠路由?

时间:2016-04-27 15:00:54

标签: javascript express angular

我的App组件中定义了一些路由:

@routeConfig([
{ 
    path:'login', 
    name: 'Login', 
    component: Login
}}

一个非常基本的节点表达加载器:

var express = require('express');
var app = express();

app.use(express.static('app'));
app.use('/node_modules', express.static(__dirname + '/node_modules/'));

app.get('/home', function(req, res, next) {
  next();
});

app.listen(3000, function () {
  console.log('Serverlistening on port 3000!');
});

我的问题是进入'/ login'/被node express截获,它说'无法获取/登录'。我希望Angular2能够处理它。它在node lite服务器上运行良好,但在express中没有。

如何配置express忽略这些路由并允许Angular处理它们?

1 个答案:

答案 0 :(得分:2)

您可以尝试以这种方式配置路线:

@routeConfig([
  { 
    path:'/login', // <---------- 
    name: 'Login', 
    component: Login
  }
])

修改

如果您直接点击请求,则需要有一些内容可以将请求的index.html文件的内容返回到Express应用程序中。

必须对Angular2中定义的每个路径执行此操作。否则你将有404错误。

有关详细信息,请参阅此问题: