gulp 4.0 使用browser-sync 实时重载只能一次?照着官方文档和网上的弄都不行啊

发布于 2022-09-11 19:52:47 字数 1376 浏览 31 评论 0

官方文档地址 https://www.gulpjs.com.cn/doc...
我的代码如下 。 最简单的引用一个css ,启动服务后,修改css中body的颜色。 能够热更新一次,之后再改其他颜色就没用了。

gulp.task('serve', function() {
    browserSync({
      server: {
        baseDir: 'src'
      }
    });
    // gulp.watch('./src/**/*.scss',()=>{
    //     console.log(22)
    //     gulp.src("./src/**/*.scss").pipe(sass()).pipe(gulp.dest("./src")).pipe(reload({
    //         stream:true
    //     }))
    // });
    gulp.watch('./src/**/*.css', ()=>{
        console.log(3)
        reload()
    });
  });
gulp.task("ss",gulp.series("serve"))

去掉了sass的内容,只监听css,还是不行,效果一样,都只能热更新一次,之后再改就没用了。

在命令行使用 gulp ss 或者 gulp serve 启动。 如下 , 打印的3,也只能打印1次,只能起一次作用,之后再改就没用了

          >gulp serve
[22:06:53] Using gulpfile F:\ty\1\gulpfile.js
[22:06:53] Starting 'serve'...
[Browsersync] Access URLs:
 --------------------------------------
       Local: http://localhost:3000
    External: http://192.168.0.112:3000
 --------------------------------------
          UI: http://localhost:3001
 UI External: http://localhost:3001
 --------------------------------------
[Browsersync] Serving files from: src
[22:07:01] Starting '<anonymous>'...
3
[Browsersync] Reloading Browsers...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半窗疏影 2022-09-18 19:52:47

用下面这个语句试试看

const browserSync = require('browser-sync').create()

async function serve() {
  await browserSync.init(
    {
      server: {
        baseDir: './src',
      },
      files: ['src/**/*.css'], // 这里填写监听的文件列表
    },
    function() {
      console.log('browser refreshed')
    },
  )
}

exports.default = serve
撩动你心 2022-09-18 19:52:47

照着 browser sync官网的写法可以实现。 http://www.browsersync.cn/doc...
最大区别是,watch监听html发生变化时进行reload 。 还是奇怪,为何监听css变化时reload不行?

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

gulp.task('serve', function() {

    browserSync.init({
        server: "./src"
    });

    gulp.watch("src/css/*.scss", gulp.series('sass'));
    gulp.watch("src/*.html").on('change', reload);
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文