browser-sync + http-proxy-middleware 配置代理跨域

写代理js文件下面是文件内容

 1 /**
 2  * Module dependencies.
 3  */
 4 var browserSync = require('browser-sync').create()
 5 var proxy = require('http-proxy-middleware') // require('http-proxy-middleware');
 6 
 7 /**
 8  * Configure proxy middleware
 9  */

35 var jsonPlaceholderProxy = proxy('/api', {
36   target: 'http://127.0.0.1:5000',
37   changeOrigin: true,             // for vhosted sites, changes host header to match to target's host
38   pathRewrite: {
39     '^/api': ''
40   },
41   logLevel: 'debug'
42 })
43 
44 /**
45  * Add the proxy to browser-sync
46  */
47 browserSync.init({
48   server: {
49     baseDir: './',
50     middleware: [jsonPlaceholderProxy]
51   },
52   port: 8080,
53   startPath: '/'
54 })
55 
56 console.log('[DEMO] Server: listening on port 8080')

随后在package.json中配置script字段,npm启动此代理即可,

注意,此处我遇到一个坑,下面参考资料的port:8080写在init函数server选项里面的话,启动出来的端口是一个随机分配的端口

    并不是我们配置的8080口,需要把port选项发到server平级即可启动对应端口

参考资料

https://github.com/chimurai/http-proxy-middleware/blob/master/examples/browser-sync/index.js

学习记录,望指点学习,谢谢!
原文地址:https://www.cnblogs.com/herewego/p/9284701.html