【问题标题】:gulp browser sync didn't work, I have install npm browser sync but not workinggulp 浏览器同步不起作用,我安装了 npm 浏览器同步但不起作用
【发布时间】:2018-12-29 19:21:04
【问题描述】:

我刚开始使用 Gulp。我已经安装了npm install -g browser-sync,但是在完成安装后,我得到了这样的警告代码

    assert.js:350
    throw err;
    ^
AssertionError [ERR_ASSERTION]: Task function must be specified
    at Gulp.set [as _setTask] (D:\PROJECT\TONJOO\test\node_modules\undertaker\lib\set-task.js:10:3)
    at Gulp.task (D:\PROJECT\TONJOO\test\node_modules\undertaker\lib\task.js:13:8)
    at Object.<anonymous> (D:\PROJECT\TONJOO\test\gulpfile.js:12:6)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)

我尝试再次安装npm install -g browser-sync 但没有帮助,我的代码有什么问题吗?

你可以在这里查看我的代码: gulpfile.js

var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync').create();

gulp.task('sass', function(){
    return gulp.src('app/scss/styles.scss')
        .pipe(sass())
        .pipe(gulp.dest('app/css'))
        .pipe(browserSync.stream());
});

gulp.task('serve', ['sass'], function() {

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

    gulp.watch("./scss/styles.scss", ['sass']);
    gulp.watch("./*.html").on('change', browserSync.reload);
});

gulp.task('default', ['serve']);

你能帮我解决这个问题吗?谢谢

【问题讨论】:

    标签: gulp browser-sync


    【解决方案1】:

    为确保您已安装浏览器同步,您必须查看您的 package.json 文件。如果您在“依赖项”下看到浏览器同步,则它已成功安装。

    我认为当您尝试运行 gulp 任务时会发生错误,那是因为您使用了一些旧的 gulp 语法。

    [sass] becomes gulp.series('sass')
    

    看看下面的变化,看看你的进展如何。

    var gulp = require('gulp');
    var sass = require('gulp-sass');
    var browserSync = require('browser-sync');
    
    gulp.task('sass', function(){
        return gulp.src('app/scss/styles.scss')
            .pipe(sass())
            .pipe(gulp.dest('app/css'))
            .pipe(browserSync.stream());
    });
    
    gulp.task('serve', function() {
    
        browserSync.init({
            server: "./"
        });
    
        gulp.watch("./scss/styles.scss",  gulp.series('sass'));
        gulp.watch("./*.html").on('change', browserSync.reload());
    });
    
    gulp.task('default', gulp.series('sass', 'serve'));
    

    话虽如此,浏览器同步目前对我来说也不是很好,看来他们有很多问题。我已经求助于使用实时服务器。

    【讨论】:

      猜你喜欢
      • 2020-11-09
      • 2014-09-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 2017-06-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      相关资源
      最近更新 更多