Browsersync结合gulp和nodemon实现express全栈自动刷新

  Browsersync能让浏览器实时、快速响应你的文件更改(html、js、css、sass、less等)并自动刷新页面。更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。你的任何一次代码保存,以上的设备都会同时显示你的改动”。

  Browsersync可以单独使用,也可以集成到gulp和grunt这样的构建工具中使用,在node.js项目中还能结合gulp-nodemon实现全栈的自动刷新,而在移动端设备上同步调试的功能对移动web开发显然是很有帮助的。

  相关网站查看 :

Browsersync中文网 - 省时的浏览器同步测试工具  http://www.browsersync.cn/

Browsersync + Gulp.js - Browsersync中文网       http://www.browsersync.cn/docs/gulp/

  一、单独使用Browersync官网都讲得很详细,在此不做赘述.

    二、结合gulp使用Browsersync.

   1..全局安装gulp:$ npm install -g gulp

   2..初始化项目生产package.json : $ npm init

   3..安装项目依赖 : $ npm install --save-dev gulp browser-sync

   4..在项目的gulpfile.js中新建任务 :

 1 var gulp = require(‘gulp‘);
 2
 3 // 调用 .create() 意味着你得到一个唯一的实例并允许您创建多个服务器或代理。
 4 var browserSync = require(‘browser-sync‘).create();
 5
 6 // 定义一个任务,任务的名字,该任务所要执行的一些操作
 7 gulp.task(‘watch‘, function() {
 8
 9     // 启动Browsersync服务。代理服务器(proxy)或静态服务器(server)
10    browserSync.init({
11
12      // 设置监听的文件,以gulpfile.js所在的根目录为起点,如果不在根目录要加上路径,单个文件就用字符串,多个文件就用数组
13         files: ["*.html", "css/*.css", "js/*.js"],
14
15     // 启动静态服务器,默认监听3000端口,设置启动时打开的index.html的路径
16         server: { baseDir: "./" },
17
18     // 在不同浏览器上镜像点击、滚动和表单,即所有浏览器都会同步
19         ghostMode: { clicks: true, scroll: true },
20
21     // 更改控制台日志前缀
22         logPrefix: "learning browser-sync in gulp",
23
24      // 设置监听时打开的浏览器,下面的设置会同时打开chrome, firefox和IE
25         browser: ["chrome", "firefox", "iexplore"],
26
27      // 设置服务器监听的端口号
28         port: 8080 });
29 }); 

    5..命令行中执行gulp watch任务即可启动browserSync监听.

  

    三、Browsersync结合nodemon实现node.js项目的全栈刷新.

   1..supervisor修改代码时可以自动重启服务器但不更更新浏览器,类似supervior工具的有nodemon(推荐)、node-dev、hotnode.

     2.. 使用gulp+browersync+nodemon结合全战刷新express项目分两步 :

      (1),使用gulp-nodemon插件代替nodemon,使用gulp-nodemon启动node服务

      (2),启动node服务之后启动Browersync任务,监听相关文件

      

var gulp = require(‘gulp‘);
// 调用 .create() 意味着你得到一个唯一的实例并允许您创建多个服务器或代理。
var browserSync = require(‘browser-sync‘).create();

 // 这里reload不加括号,只引用不调用
 // var reload = browserSync.reload;
var nodemon = require(‘gulp-nodemon‘);
gulp.task(‘server‘, function() {
  nodemon({
     script: ‘app.js‘,
// 忽略部分对程序运行无影响的文件的改动,nodemon只监视js文件,可用ext项来扩展别的文件类型
    ignore: ["gulpfile.js", "node_modules/", "public/**/*.*"],
    env: { ‘NODE_ENV‘: ‘development‘ } }).on(‘start‘, function() {
         browserSync.init({
            proxy: ‘http://localhost:3000‘,
            files: ["public/**/*.*", "views/**", "routes/**"],
            port:8080 },
        function() {
            console.log("browser refreshed.");
        });
    });
});                

    

原文地址:https://www.cnblogs.com/hughes5135/p/8365404.html

时间: 2024-08-24 06:38:05

Browsersync结合gulp和nodemon实现express全栈自动刷新的相关文章

webpack-dev-middleware 和 webpack-hot-middleware 实现express全栈热更新。

场景: node server.js 启动后端服务器. npm run dev 启动前端服务器. 当你需要node的express框架和webpack结合的时候,就会用到题上的两个依赖. 当然如果只是想用node启动webpack实现热更新,那么webpack-dev-server,就可以实现!详情见:https://segmentfault.com/a/1190000007374078: 这样出现的问题就是你在页面中找不到你写的API,出现404错误(因为事实上你是没有启动你的后端服务器) 这

gulp+browserSync+nodemon 实现express 全端自动刷新的实践

学习过程宝宝心里苦,不能怨政府.. 兴趣所致,一直放不下nodejs的学习,时隔多日,又把express捡起来打算重新再学学,一直没什么太大的长进,和实际的项目经验.真的醉了,太懒了. 今天在重新研究supervisor的时候,突然觉得这东西只有在服务端文件修改时才会触发刷新,前端样式文件模板等等刷新时不会, 能实现前端修改也自动刷新不?想想平时自己用gulp 搭虚拟服务器,用browser自动刷新,于是打算试试. gulp+browserSync 算是原来就有的,现在应该把目标分几步来实现,

Gulp+browser-sync打造前端开发自动刷新

以下是gulpfile.js: var gulp = require('gulp'),     config = require('./config'),     cleanCss = require('gulp-clean-css'),     jshint = require('gulp-jshint'),     uglify = require('gulp-uglify'),     rename = require('gulp-rename'),     concat = requir

gulp+browserSync自动刷新页面

BrowserSync "Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项调试.您可以想象一下:"假设您的桌子上有pc.ipad.iphone.android等设备,同时打开了您需要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动".无论您是前端还是后端工程师,使用它将提高您30%的

gulp browser-sync自动刷新插件

很久没弄gulp了,都快忘了,今天又来温习下browser-sync 自动刷新插件,在安装的时候出现以下提示: $ npm install browser-sync --save-dev<br>> [email protected] install /usr/local/lib/node_modules/browser-sync/node_modules/socket.io/node_modules/engine.io/node_modules/ws > (node-gyp reb

基于LeanCloud云引擎的Web全栈方案

LeanEngine-Full-Stack The FULL STACK DEVELOPER 复杂的项目, 协作分工, 自动化流程,代码组织结构,框架选择,国际化方案等 Generator 或者Seed LeanCloud Node.js 服务的 Web 全栈开发技术解决方案. 将基础架构, 自动化构建, 国际化方案等底层技术解决方案组织成一个整体. 整套方案Javascript代码全部使用ECMAScript6 Server端运行基于LeanEngine Node.js环境,npm  Expr

Nodejs系列课程,从入门到进阶帮你打通全栈

本课程由社区博主:Scott 编写 本文通过提供给大家学习的方法,以及我个人录制的一系列视频,帮助你更快更好的学习 Nodejs,了解前后端的 HTTP 知识,以及配置和使用阿里云 ECS 来部署你的 Nodejs 项目,成为那个具有争议的全栈开发工程师. 要不要学习 Nodejs 如果你是前端开发工程师,你本地电脑上不可避免的要安装 Nodejs,作为工具也好,作为服务器也好,要帮助你做掉很多又脏又累的事情,比如 less/scss 的编译,ES6/7 到 ES5 的转换,Javascript

前端开发如何学习?后端?全栈?零基础入门

这是一个2019年你成为前端,后端或全栈开发者的进阶指南: 1.你不需要学习所有的技术成为一个web开发者 2.这个指南只是通过简单分类列出了技术选项 3.我将从我的经验和参考中给出建议 4.首选我们会介绍通用的知识, 最后介绍2019年的Web的一些趋势 1.基础前端开发者 1.1 HTML & CSS 最基础的知识: 语义化的HTML元素 基础的CSS语法 Flexbox & Grid CSS变量 浏览器开发者工具 1.2 响应式布局 响应式设计将不再是网页的加分项, 而是必须的 设置

全栈新视觉&mdash;&mdash;前后端分离

1234 前端工程化从单纯的 HTML/CSS/JavaScript,到 gulp/webpack 以及 node.js.可能还需要其他的插件 sass.less.vue.react.angular.等等插件.最重要的是后端吐出数据,在前端做逻辑处理. 123大专栏  全栈新视觉--前后端分离ss="line">456 后端工程化有 node.js 后 js 可以从前端写到后台的能力, 处理数据的框架从 express/koa.数据库能使用传统的 mySql,也可能 MongoD