2017-02-18 4 views
1

Я только начал использовать браузер. Поэтому я начал изучать глоток. Я установил gulp, используя команду npm install gulp -g. После этого я инициализировал каталог проекта с файлом package.json следующей командой npm init. Затем я установил gulp в свой каталог проекта командой npm install gulp --save-dev.Я также установил браузеры с помощью команды npm install browser-sync --save-dev.Задача 'browser-sync' не находится в вашем gulpfile

Теперь я попытался запустить browsersync с помощью глотка по gulp browser-sync команде, которая дает мне «browsersync» ошибка Task ан нет в вашем gulpfile

Ниже приведен файл моего gulpfiles.js

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

// process JS files and return the stream. 
gulp.task('js', function() { 
    return gulp.src('js/*js') 
    .pipe(browserify()) 
    .pipe(uglify()) 
    .pipe(gulp.dest('dist/js')); 
}); 

// create a task that ensures the `js` task is complete before 
// reloading browsers 
gulp.task('js-watch', ['js'], function (done) { 
    browserSync.reload(); 
    done(); 
}); 

// use default task to launch Browsersync and watch JS files 
gulp.task('serve', ['js'], function() { 

// Serve files from the root of this project 
browserSync.init({ 
    server: { 
     baseDir: "./" 
    } 
}); 

// add browserSync.reload to the tasks array to make 
// all browsers reload after tasks are complete. 
    gulp.watch("js/*.js", ['js-watch']); 
}); 

Я уже пробовал, включая строку module.exports = gulp; в начале, а также в конце gulpfile.js, но ошибка сохраняется. Моя текущая версия gulp - 3.9.1 на mac OSX 10.12.3

Пожалуйста, помогите, я застрял.

ответ

4

Проблема в том, вы назвали ваша задача serve и не browserSync:

// use default task to launch Browsersync and watch JS files 
// NOTE how this task is called serve: 
gulp.task('serve', ['js'], function() { 

// Serve files from the root of this project 
browserSync.init({ 
    server: { 
     baseDir: "./" 
    } 
}); 

Вы можете просто изменить свое имя:

// use default task to launch Browsersync and watch JS files 
// NOTE at the name of the task now 
gulp.task('browser-sync', ['js'], function() { 

// Serve files from the root of this project 
browserSync.init({ 
    server: { 
     baseDir: "./" 
    } 
}); 
+0

У меня есть сомнения. есть несколько задач с разными именами, но почему вы выбрали это. кстати, пример из документации браузера. – geeksal

+0

Я выбрал эту задачу, потому что это тот, в котором вы инициализируете свой сервер browsersync. Вы пытались запустить 'gulp serve' с вашим текущим кодом и посмотреть, работает ли browserSync правильно? –

+0

Спасибо! он работает сейчас – geeksal

Смежные вопросы