美文网首页
Browsersync

Browsersync

作者: bbh123 | 来源:发表于2019-03-12 11:08 被阅读0次

    Browsersync API
    配置
    命令行

    可视化管理

    http://localhost:3001

    安装browser-sync

    npm install -g browser-sync

    静态网站开发

    --files 路径是相对于运行该命令的项目(目录) 
    browser-sync start --server --files "css/*.css"
    // --files 路径是相对于运行该命令的项目(目录) 
    browser-sync start --server --files "css/*.css, *.html"
    // 如果你的文件层级比较深,您可以考虑使用 **(表示任意目录)匹配,任意目录下任意.css 或 .html文件。 
    browser-sync start --server --files "**/*.css, **/*.html"
    

    动态网站开发

    // 主机名可以是ip或域名
    browser-sync start --proxy "主机名" "css/*.css"
    

    Browsersync+Webpack

    npm install browser-sync-webpack-plugin --save-dev

    //配置webpack.config.js
    var BrowserSyncPlugin = require('browser-sync-webpack-plugin');
    new BrowserSyncPlugin({
            host: 'localhost',
            port: 3000,
            files: '',
            server: {
                //指定根目录
                baseDir: './'
            }
    })
    

    Browsersync + Gulp.js

    npm install browser-sync gulp --save-dev

    //在gulpfile.js中配置
    var gulp        = require('gulp');
    var browserSync = require('browser-sync').create();
    
    // 静态服务器
    gulp.task('browser-sync', function() {
        browserSync.init({
            server: {
                baseDir: "./"
            }
        });
    });
    
    // 代理
    
    gulp.task('browser-sync', function() {
        browserSync.init({
            proxy: "你的域名或IP"
        });
    });
    

    sass+css注入

    var gulp        = require('gulp');
    var browserSync = require('browser-sync').create();
    var sass        = require('gulp-sass');
    var reload      = browserSync.reload;
    
    // 静态服务器 + 监听 scss/html 文件
    gulp.task('serve', ['sass'], function() {
    
        browserSync.init({
            server: "./app"
        });
    
        gulp.watch("app/scss/*.scss", ['sass']);
        gulp.watch("app/*.html").on('change', reload);
    });
    
    // scss编译后的css将注入到浏览器里实现更新
    gulp.task('sass', function() {
        return gulp.src("app/scss/*.scss")
            .pipe(sass())
            .pipe(gulp.dest("app/css"))
            .pipe(reload({stream: true}));
    });
    
    gulp.task('default', ['serve']);
    

    sass+source maps

    // 处理完JS文件后返回流
    gulp.task('js', function () {
        return gulp.src('js/*js')
            .pipe(browserify())
            .pipe(uglify())
            .pipe(gulp.dest('dist/js'));
    });
    
    // 创建一个任务确保JS任务完成之前能够继续响应
    // 浏览器重载
    gulp.task('js-watch', ['js'], browserSync.reload);
    
    // 使用默认任务启动Browsersync,监听JS文件
    gulp.task('serve', ['js'], function () {
    
        // 从这个项目的根目录启动服务器
        browserSync({
            server: {
                baseDir: "./"
            }
        });
    
        // 添加 browserSync.reload 到任务队列里
        // 所有的浏览器重载后任务完成。
        gulp.watch("js/*.js", ['js-watch']);
    });
    

    浏览器重载

    // 处理完JS文件后返回流
    gulp.task('js', function () {
        return gulp.src('js/*js')
            .pipe(browserify())
            .pipe(uglify())
            .pipe(gulp.dest('dist/js'));
    });
    
    // 创建一个任务确保JS任务完成之前能够继续响应
    // 浏览器重载
    gulp.task('js-watch', ['js'], browserSync.reload);
    
    // 使用默认任务启动Browsersync,监听JS文件
    gulp.task('serve', ['js'], function () {
    
        // 从这个项目的根目录启动服务器
        browserSync({
            server: {
                baseDir: "./"
            }
        });
    
        // 添加 browserSync.reload 到任务队列里
        // 所有的浏览器重载后任务完成。
        gulp.watch("js/*.js", ['js-watch']);
    });
    

    手动重载

    // 使用变量引用 `reload` 方法
    var reload = browserSync.reload;
    
    // 编译 SASS & 自动注入到浏览器
    gulp.task('sass', function () {
        return gulp.src('scss/styles.scss')
            .pipe(sass({includePaths: ['scss']}))
            .pipe(gulp.dest('css'))
            .pipe(reload({stream:true}));
    });
    
    // 监听scss和html文件, 当文件发生变化后做些什么!
    gulp.task('serve', ['sass'], function () {
    
        // 从这个项目的根目录启动服务器
        browserSync({
            server: {
                baseDir: "./"
            }
        });
    
        gulp.watch("scss/*.scss", ['sass']);
        gulp.watch("*.html").on("change", browserSync.reload);
    });
    

    browsersync+grunt.js

    official Plugin
    npm install browser-sync gulp --save-dev

    //Gruntfile.js配置
    grunt.loadNpmTasks('grunt-browser-sync');
    

    静态服务器

    browserSync: {
        bsFiles: {
            src : 'assets/css/*.css'
        },
        options: {
            server: {
                baseDir: "./"
            }
        }
    }
    

    Proxy代理

    browserSync: {
        dev: {
            bsFiles: {
                src : 'assets/css/style.css'
            },
            options: {
                proxy: "local.dev"
            }
        }
    }
    

    监听

    // 这是一个完整的配置文件!
    module.exports = function (grunt) {
        grunt.initConfig({
            watch: {
                files: 'app/scss/**/*.scss',
                tasks: ['sass']
            },
            sass: {
                dev: {
                    files: {
                        'app/css/main.css': 'app/scss/main.scss'
                    }
                }
            },
            browserSync: {
                dev: {
                    bsFiles: {
                        src : [
                            'app/css/*.css',
                            'app/*.html'
                        ]
                    },
                    options: {
                        watchTask: true,
                        server: './app'
                    }
                }
            }
        });
    
        // 加载NPM任务 
        grunt.loadNpmTasks('grunt-contrib-sass');
        grunt.loadNpmTasks('grunt-contrib-watch');
        grunt.loadNpmTasks('grunt-browser-sync');
    
        // 定义默认任务
        grunt.registerTask('default', ['browserSync', 'watch']);
    };
    

    相关文章

      网友评论

          本文标题:Browsersync

          本文链接:https://www.haomeiwen.com/subject/jejgpqtx.html