2017-04-14 38 views
4

我有一個應用程序在iis中,它是在angularjs和webapi C#2.0中創建的應用程序,我希望創建一個任務,在保存任何內容後立即更新瀏覽器js文件。如何使用gulp在瀏覽器中刷新

版吞的:3.9.1

gulp.task('livereload', function() { 
    gulp.watch(config.files.js); 
}); 

回答

6

gulp-livereload

輕量級吞插件livereload與 livereload chrome extensionlivereload middleware使用。

簡單的設置:

var gulp = require('gulp'), 
    less = require('gulp-less'), 
    livereload = require('gulp-livereload'); 

gulp.task('less', function() { 
    gulp.src('less/*.less') 
    .pipe(less()) 
    .pipe(gulp.dest('dist')) 
    .pipe(livereload()); 
}); 

gulp.task('watch', function() { 
    livereload.listen(); 
    gulp.watch('less/*.less', ['less']); 
}); 

Browsersync

有沒有官方Browsersync插件咕嘟咕嘟的,因爲它不是 需要!您只需require該模塊,利用API並將其配置爲options並將其配置爲 。

新的酷小孩,大多數已經轉移到它。

流在Browsersync支持,這樣你就可以在你的任務在 特定點調用重載和所有的瀏覽器將在 變化的通知。由於瀏覽器同步只關心您的CSS,因爲它在 編譯完成後 - 確保您在gulp.dest之後致電.stream()

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

// Static Server + watching scss/html files 
gulp.task('serve', ['sass'], function() { 

    browserSync.init({ 
     server: "./app" 
     // or 
     // proxy: 'yourserver.dev' 
    }); 

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

// Compile sass into CSS & auto-inject into browsers 
gulp.task('sass', function() { 
    return gulp.src("app/scss/*.scss") 
     .pipe(sass()) 
     .pipe(gulp.dest("app/css")) 
     .pipe(browserSync.stream()); 
}); 

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

對於手動重裝:

// ... 
var reload = browserSync.reload; 

// Save a reference to the `reload` method 

// Watch scss AND html files, doing different things with each. 
gulp.task('serve', function() { 

    // Serve files from the root of this project 
    browserSync.init({/* ... */}); 

    gulp.watch("*.html").on("change", reload); 
}); 

Why Browsersync is better?

它不限制於單個設備,它工作在桌面設備,並在同一時間 移動設備。它將更新代碼更改, 在所有 瀏覽器和設備上自動同步滾動位置並自動生成輸入。