Javascript BrowserSync突然未连接到浏览器

Javascript BrowserSync突然未连接到浏览器,javascript,browser,sync,gulp,browser-sync,Javascript,Browser,Sync,Gulp,Browser Sync,上周,我尝试为一个小javascript项目从头开始编写一个gulpfile。我选择使用BrowserSync编译代码并重新加载浏览器(Chrome)。整个周末都很顺利,我完成了任务。但是,我觉得我昨天打开了项目,现在当我运行'gulp'命令时,它没有连接到浏览器,发出“Connected to BrowserSync”消息,并提供自动登录功能。但是,在控制台中,我仍然收到通知,我的文件正在更新和编译 有人知道这是怎么发生的吗 这是我正在使用的gulpfile: var gulp = requi

上周,我尝试为一个小javascript项目从头开始编写一个gulpfile。我选择使用BrowserSync编译代码并重新加载浏览器(Chrome)。整个周末都很顺利,我完成了任务。但是,我觉得我昨天打开了项目,现在当我运行'gulp'命令时,它没有连接到浏览器,发出“Connected to BrowserSync”消息,并提供自动登录功能。但是,在控制台中,我仍然收到通知,我的文件正在更新和编译

有人知道这是怎么发生的吗

这是我正在使用的gulpfile:

var gulp = require('gulp'),
gutil = require('gulp-util'),
browserSync = require('browser-sync'),
reload = browserSync.reload,
jshint = require('gulp-jshint'),
sass = require('gulp-sass');

gulp.task('browser-sync', function() {
  var files = [
    'app/**/*/.html',
    'app/assets/css/**/*.css',
    'app/assets/js/**/*.js'
    ];

  browserSync.init(files, {
    server: {
      baseDir: './app'
    }
  });
});

// process JS files and reload all browsers when complete.
gulp.task('js', function () {
    return gulp.src('app/assets/js/*js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(gulp.dest('app/assets/js'))
        .pipe(browserSync.reload({stream:true}));
});

gulp.task('sass', function() {
  return gulp.src('app/assets/sass/**/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('app/assets/css'))
    .pipe(reload({stream: true}));
});

// Reload all Browsers
gulp.task('bs-reload', function () {
    browserSync.reload();
});

gulp.task('default', ['browser-sync'], function() {
  gulp.watch('app/assets/js**/*.js', ['js']);
  gulp.watch('app/assets/sass/*.scss', ['sass']);
  gulp.watch('app/*html', ['bs-reload']);
});

谢谢你的建议

看起来browsersync“script”标记没有被注入到您提供服务的html文件中,请重新检查您的html文件,有时我会忘记body标记,如果没有body标记,脚本标记将不会被注入

当您运行gulp并加载页面时,请在其打开时签出源代码(查看页面源代码),并检查html结构

您可以从工作正常的其他项目复制标记,运行它,复制注入的脚本标记,并将其粘贴到当前项目页面上

脚本标记如下所示(根据BrowserSync版本可能有所不同)


//
注意:在上面的
标签中
浏览器同步
版本为
2.18.5
请确保将其替换为已安装的浏览器同步版本


听起来好像脚本标记没有被注入到页面中。您能否查看源代码并检查浏览器同步脚本标记是否存在。使用良好的编程实践总是值得的。我在没有任何HTML结构的chrome中添加了标记,从而逃脱了惩罚。谢谢奇怪的是,我的代码通过了HTML验证程序,但脚本仍然没有包括在内,手工添加回来就解决了这个问题!
<body>
   <script id="__bs_script__">
     //<![CDATA[document.write("<script async src='/browser-sync/browser-sync-client.js?v=2.18.5'><\/script>".replace("HOST", location.hostname));//]]>
   </script>