2017-02-18 65 views
1

我剛開始使用瀏覽器同步。所以我開始學習喝酒。 我使用npm install gulp -g命令安裝了gulp。在此之後,我通過以下命令npm initpackage.json文件初始化我的項目目錄。然後我通過npm install gulp --save-dev命令在我的項目目錄中安裝了gulp。我還通過npm install browser-sync --save-dev命令安裝了瀏覽器同步。任務「瀏覽器同步」不在您的大文件中

現在,我試圖通過gulp browser-sync命令,它給我一個錯誤任務「browsersync」運行browsersync使用一飲而盡是不是在你的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版本是mac OSX上的3.9.1 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

我選擇了這個任務,因爲它是初始化您的瀏覽器同步服務器的。 您是否嘗試過使用當前代碼運行'gulp serve'並查看browserSync是否正常工作? –

+0

謝謝!它現在有效 – geeksal