browser-sync 和 http-proxy-middleware

  • 最近在做一些活动页面的开发,在开发的过程中要用到和本地server并进行本地联调,而在本地服务联调中无可避免的会涉及到跨域。因此自己利用browser-sync简单的搭建了个服务,并采用http-proxy-middleware解决了联调过程中的跨域问题。
  • 小弟现在为各位看官献上具体攻略,首先我们得安装node,详情https://nodejs.org/en/
  • 安装browser-sync,npm install browser-sync -D;
  • 安装http-proxy-middleware,npm isntall http-proxy-middleware -D;
  • 项目根目录下新建server.js,
const browserSync = require('browser-sync').create();
const proxy = require('http-proxy-middleware');

// 获取本地ip
function getIP() {
    const ifaces = require('os').networkInterfaces();
    let ip = '127.0.0.1';
    for (let dev in ifaces) {
        if (ifaces.hasOwnProperty(dev)) {
            ifaces[dev].forEach(details => {
                if (ip === '127.0.0.1' && details.family === 'IPv4') {
                    ip = details.address;
                }
            });
        }
    }
    return ip;
}

/* 代理中间件
 * 具体只用文档参考 https://www.jianshu.com/p/a248b146c55a
*/
let proxyArr =[
    // 代理转发接口(1)
    proxy('/api1', {
        target: 'http://www.baidu.com:80',
        changeOrigin: true,
    }),

    // 代理转发接口(2)
    proxy('/api2', {
        target: 'http://www.taobao.com:80',
        changeOrigin: true,
    })
]


/* browser-sync
 * 更多配置参考 http://www.browsersync.cn/docs/api/
*/
browserSync.init({
    // 配置server
    server: {
        // server的基础路径
        baseDir: './',
        // 使用中间件
        middleware: [...proxyArr]
    },
    // 定义host
    host: getIP(),
    // 设置端口
    port: 8099,
    // 项目启动时使用定义的host
    open: 'external',
    // 项目启动时打开的页面路径
    startPath: '/activities/index.html',
    // 修改那些文件的时候浏览器页面会自动刷新
    files: ['./**/*.html', './**/*.css', './**/*.js']
})
  • 至此,我们的server算是写完了,终端运行node server.js,浏览器会自动打开xxxxx:8899/activities/index.html,在项目目录下修改任意css、js、html当前页面都会自动刷新,当然联调的时候再也不用担心跨域问题。另外也可以在在package.json里边儿修改
    WX20190131-174612@2x.png
    ,下次启动项目直接在终端运行npm run server即可
  • 项目目录参考如下


    QQ截图20190508235633.png

  • 写在最后,其实做这么一个东西,最主要还是想针对一个简单项目快速的实现跨域联调和浏览器热重载,当然有很多方法能实现这个功能,例如webpck+webpack-hot-middleware,但是相比较而言,webpack更偏向于项目工程化,会面临一系列的配置,学习成本相对较高。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容

  • 返回导航 现在你应该已经创建完成种子项目,现在我们来看看,这个项目中包含了什么。 Yeoman 工具流 我非常荣幸...
    Transnet2014阅读 400评论 0 0
  • This project was bootstrapped with Create React App. Belo...
    unspecx阅读 5,159评论 0 2
  • Laravel 学习交流 QQ 群:375462817 本文档前言Laravel 文档写的很好,只是新手看起来会有...
    Leonzai阅读 7,887评论 2 12
  • 58岁的老人啊!还在潜心学习!这是他编的顺口溜。@刘婧_你还小,我很老。咱俩就是忘年交。你不会,我教你,不能算作我...
    刘婧_阅读 302评论 2 3
  • 在曾经去过的那么多教堂中,最具创意、最亲近自然的,非巴塞罗那(Barcelona)的圣家堂(Sagrada Fam...
    优杜时间阅读 642评论 0 0