gulp браузерная синхронизация не работает, у меня установлена ​​npm браузерная синхронизация, но не работает - PullRequest
0 голосов
/ 29 декабря 2018

Я новый, используя 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']);

Можете ли вы помочь мне решить эту проблему?Спасибо

1 Ответ

0 голосов
/ 29 декабря 2018

Чтобы убедиться, что у вас установлена ​​браузерная синхронизация, вам нужно заглянуть в файл 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'));

При этом синхронизация браузера в настоящее время работает не очень хорошо и для меня, кажется, ониесть большая куча вопросов.Вместо этого я прибег к использованию live-сервера.

...