angularjs2 SPA - /页如何改变一口任务,以防止无法得到错误

问题描述:

问题:我得到“无法得到/英雄”或试图达成http://localhost:9000/dashboardhttp://localhost:9000/heroesangularjs2 SPA - /页如何改变一口任务,以防止无法得到错误

时“无法GET /仪表板”错误我现在有一个大口的任务设置的网页:

var http = require('http');<br/> 
var connect = require('connect');<br/> 
var serveStatic = require('serve-static');<br/> 
var open = require('open');<br/> 
var port = 9000, app;<br/> 

gulp.watch(PATHS.src, ['ts2js']); 

app = connect().use(serveStatic(__dirname)); 

http.createServer(app).listen(port, function() { 
    open('http://localhost:' + port); 
}); 

问:我应该在我的任务,一饮而尽,以防止index.html文件更改被绕过?
我曾尝试添加connect-history-api-fallback,但我不知道如何正确设置。

我尝试以下,但那就不是让我改变的子页面都:

var history = require('connect-history-api-fallback'); 
app = connect().use(serveStatic(__dirname)); 
app.use(history); 

这里是我的angularjs2路由配置(如果它帮助):

import {Component} from 'angular2/core'; 
import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from 'angular2/router'; 

import {DashboardComponent} from './dashboard.component'; 
import {HeroesComponent} from './heroes.component'; 

@Component({ 
    selector: 'start-app', 
    template: ` 
    <h1>{{title}}</h1> 
    <nav> 
     <a [routerLink]="['Dashboard']">Dashboard</a> 
     <a [routerLink]="['Heroes']">Heroes</a> 
    </nav> 
    <router-outlet></router-outlet> 
    `, 
    styleUrls: ['./src/app/app.component.css'], 
    directives: [ROUTER_DIRECTIVES], 
    providers: [/*HeroService,*/ ROUTER_PROVIDERS] 
}) 
@RouteConfig([ 
    { path: '/dashboard', name: 'Dashboard', component: DashboardComponent, useAsDefault: true }, 
    { path: '/heroes', name: 'Heroes', component: HeroesComponent } 
]) 
export class App//Component 
{ 
    public title = 'Tour of Heroes'; 
} 

感谢提前!

这里要求是整个吞掉文件(希望它可以帮助你):

var gulp = require('gulp'); 

var PATHS = { 
src: 'src/**/*.ts' 
}; 

gulp.task('clean', function (done) { 
var del = require('del'); 
del(['dist'], done); 
}); 

// copy dependencies 
gulp.task('copy:libs', ['clean'], function() { 
gulp.src([ 
     'src/app/*.html', 'src/app/*.css' 
    ]) 
    .pipe(gulp.dest('dist/app')); 

gulp.src([ 
     'src/home/*.html', 'src/home/*.css' 
    ]) 
    .pipe(gulp.dest('dist/home')); 

gulp.src([ 
     'src/login/*.html', 'src/login/*.css' 
    ]) 
    .pipe(gulp.dest('dist/login')); 

gulp.src([ 
     'src/signup/*.html', 'src/signup/*.css' 
    ]) 
    .pipe(gulp.dest('dist/signup')); 
}); 

gulp.task('ts2js',['copy:libs'], //['copy:libs'], 
function() { 
    var typescript = require('gulp-typescript'); 
    var tscConfig = require('./tsconfig.json'); 

    var tsResult = gulp 
     .src(PATHS.src) 
     .pipe(typescript(tscConfig.compilerOptions)); 

    return tsResult.js.pipe(gulp.dest('dist')); 
}); 

gulp.task('play', ['ts2js'], function() { 
var http = require('http'); 
var connect = require('connect'); 
var serveStatic = require('serve-static'); 
var open = require('open'); 

var port = 9000, app; 

gulp.watch(PATHS.src, ['ts2js']); 

app = connect().use(serveStatic(__dirname)); 
http.createServer(app).listen(port, function() { 
    open('http://localhost:' + port); 
}); 

}); 
gulp.task('default', ['play']); 
+0

介意分享吞气文件? – user1640736

这里的答案如何设置它在一饮而尽任务:

var historyApiFallback = require('connect-history-api-fallback'); 
var bs = require('browser-sync').create(); 
bs.init({ 
    server: {baseDir: "./", middleware: [ historyApiFallback() ]} 
});