我有以下的任务:
gulp.task('connect', function() {
connect.server({
root: __dirname,
livereload: true
});
});
和下面的Angular路由:
angular.module("MyApp", ["ngRoute"]).config(function($routeProvider, $locationProvider) {
$locationProvider.html5Mode(true);
$routeProvider
.when("/", {
controller: "DashboardCtrl",
templateUrl: "templates/dashboard.html"
})
.when("/advertiser", {
controller: "AdvertiserCtrl",
templateUrl: "templates/advertiser.html"
})
.otherwise({
redirectTo: "/"
});
});
当我访问/
时,一切正常(仪表板出现)。
但是,访问/advertiser
会导致"404 -无法获取/advertiser“。
我的主要Angular文件是index.html
,它可以正确地为/
打开,但不能为/advertiser
打开。
我怎么能告诉Gulp打开index.html
而不管网址是什么呢?
发布于 2014-04-11 21:55:29
您可以使用middleware
选项来使用the connect-history-api-fallback
middleware。安装并需要回退后,您可以像这样添加它:
gulp.task('connect', function() {
connect.server({
root: __dirname,
livereload: true,
middleware: function(connect, opt) {
return [ historyApiFallback ];
}
});
});
发布于 2015-07-21 02:40:57
或者,您可以使用名为fallback
的gulp-connect
自己的选项:
gulp.task('connect', function() {
connect.server({
root: 'path/',
livereload: true,
fallback: 'path/index.html'
});
});
不需要另一个包。
https://stackoverflow.com/questions/23013353
复制相似问题