Node.js 系统未使用路由器参数定义-角度2

Node.js 系统未使用路由器参数定义-角度2,node.js,angular,express,typescript,angular2-routing,Node.js,Angular,Express,Typescript,Angular2 Routing,我试图在url上使用id参数实现路由,例如localhost:1000/register/id 使用该路径将始终触发系统未定义,而其他不带参数的URL工作正常。我甚至试着从angular.io的路由格式来遵循指南,但似乎无法解决这个问题。我的代码中缺少了什么 app.routing.ts import { ModuleWithProviders } from '@angular/core'; import { Routes, RouterModule } from '@angular/rout

我试图在url上使用id参数实现路由,例如localhost:1000/register/id 使用该路径将始终触发系统未定义,而其他不带参数的URL工作正常。我甚至试着从angular.io的路由格式来遵循指南,但似乎无法解决这个问题。我的代码中缺少了什么

app.routing.ts

import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { RegisterComponent } from './registration/register.component';
import { CodeComponent } from './registration/code.component';

const appRoutes: Routes = [
    {
        path: 'register/:id',
        component: RegisterComponent
    },
    {
        path: '',
        component: CodeComponent
    }
];

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
app.module.ts

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
import { FormsModule } from '@angular/forms';

import { routing } from './app.routing';
import { AppComponent } from './app.component';
import { CodeComponent } from './registration/code.component';
import { RegisterComponent } from './registration/register.component';

@NgModule({
    imports: [BrowserModule, HttpModule, FormsModule, routing],
    declarations: [AppComponent, CodeComponent, RegisterComponent],
    bootstrap: [AppComponent]
})
export class AppModule { }
server.js

var express = require('express'),
    app = express(),
    mongoose = require('mongoose'),
    bodyParser = require('body-parser'),
    path = require('path'),
    passport = require('passport'),
    session = require('express-session'),
    port = process.env.PORT || 1000;

db = require('./config/db');
mongoose.Promise = global.Promise;
mongoose.connect(db.url);

app.use(session({
    secret: 'test',
    saveUninitialized: true,
    resave: true
}));

app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
require('./config/passport')(passport);
require('./routes/main')(app, passport);

app.use(express.static(path.join(__dirname)));
app.use('/node_modules', express.static(path.join(__dirname+ '/node_modules')));
console.log(path.join(__dirname+ '/node_modules'))

app.all('/*', function (req, res, next) {
    res.sendFile('/view/index.html', { root: __dirname });
});

app.listen(port);
console.log('Magic happens on port ' + port);
更新:

通过使用这个.router.navigate(['/register',1']);工作正常,但通过键入url localhost:1000/register/1无法工作

从上面的图片中,鼠标悬停显示要访问的url localhost:1000/寄存器/节点\模块/核心js。。。。 -我想在我的服务器NodeJS端我遗漏了一些东西

我还加了一句

app.use('/node_modules', express.static(__dirname + '/node_modules'));
但没有变化

注:
服务器端(NodeJS,Express)

如何导航获得了
register/:id
?现在我只需输入url localhost:1000/register/1即可test@PankajParkar,我使用这个.router.navigate(['/register',1'])来测试您的问题;作品但是,在URL上键入不是也应该这样做吗?将更新问题您是否使用了
HTML5模式
?@GeneLim我想将有助于您如何导航获得
register/:id
?目前,我只需键入url localhost:1000/register/1即可test@PankajParkar,我使用这个.router.navigate(['/register',1'])来测试您的问题;作品但是,在URL上键入不是也应该这样做吗?您是否使用了
HTML5模式
?@GeneLim我想会对您有所帮助