首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何告诉gulp-connect打开index.html而不管网址是什么?

如何告诉gulp-connect打开index.html而不管网址是什么?
EN

Stack Overflow用户
提问于 2014-04-11 21:02:15
回答 2查看 11.5K关注 0票数 21

我有以下的任务:

代码语言:javascript
复制
gulp.task('connect', function() {
  connect.server({
    root: __dirname,
    livereload: true
  });
});

和下面的Angular路由:

代码语言:javascript
复制
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而不管网址是什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-11 21:55:29

您可以使用middleware选项来使用the connect-history-api-fallback middleware。安装并需要回退后,您可以像这样添加它:

代码语言:javascript
复制
gulp.task('connect', function() {
  connect.server({
    root: __dirname,
    livereload: true,

    middleware: function(connect, opt) {
      return [ historyApiFallback ];
    }

  });
});
票数 15
EN

Stack Overflow用户

发布于 2015-07-21 02:40:57

或者,您可以使用名为fallbackgulp-connect自己的选项:

代码语言:javascript
复制
gulp.task('connect', function() {
  connect.server({
    root: 'path/',
    livereload: true,
    fallback: 'path/index.html'
  });
});

不需要另一个包。

票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23013353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档