4

我是 Gulp 和 BrowserSync 的新手,所以我一直在运行 gulp 并多次停止(由终端中的 ctrl + z 强制)。每次我在终端中再次启动 gulp 时,BrowserSync 都会给我一个新的端口号。

我需要帮助删除旧的 BrowserSync 实例。终端中是否有可以查看和删除旧 BS 实例的命令?这甚至可能吗?我在端口 3001(本地)和 3002(UI)开始 BS,现在我在 3018!我想回到3001。

另外,如何修复我的 Gulpfile.js 代码,以便当我在终端中强制停止 gulp 时,browserSync 退出本地和 UI 服务器实例,因此端口号不会继续增加?

我在 Gulpfile.js 中的 BrowserSync 部分非常基础:

gulp.task('browser', function () {
  // Serve files from root of this folder
  browserSync({
      server: {
        baseDir: './'
      }
  });
  gulp.watch(['html/*.html', 'js/*.js']).on("change", reload);
});

gulp.task('default', ['styles','browser'], function() {
  gulp.watch('./sass/**/*.scss', ['styles']);
});

在我的mac终端中,最新的BS实例在30018,而UI恰好在3021(因为我最近使用了bs.server.close(),它关闭了Local实例,但没有关闭UI实例。

[BS] Access URLs:
 --------------------------------------
       Local: http://localhost:3018
    External: http://192.168.1.164:3018
 --------------------------------------
          UI: http://localhost:3021
 UI External: http://192.168.1.164:3021
 --------------------------------------
[BS] Serving files from: ./
^Z
[16]+  Stopped                 gulp
4

1 回答 1

9

问题ctrl + z只是暂停该过程。(见https://superuser.com/a/262948

你想要的是ctrl + c,这会杀死它。

首先,关闭您的终端,这应该会终止所有在后台仍处于活动状态的端口连接。

接下来,重新启动您的服务器,但使用ctrl + c退出。您应该能够使用此方法连续停止和重新启动。

于 2016-06-27T20:16:39.580 回答