angularjs2 SPA - /页如何改变一口任务,以防止无法得到错误
问题描述:
问题:我得到“无法得到/英雄”或试图达成http://localhost:9000/dashboard或http://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']);
答
这里的答案如何设置它在一饮而尽任务:
var historyApiFallback = require('connect-history-api-fallback');
var bs = require('browser-sync').create();
bs.init({
server: {baseDir: "./", middleware: [ historyApiFallback() ]}
});
介意分享吞气文件? – user1640736