背景:我的开发环境是cloud9 Web ide。我的应用服务器通过nginx监听8000端口。我在9000端口运行webpack devserver。
我想将除根URL /
和以/sockjs
开头的URL之外的所有请求代理到应用服务器。我检查了devserver和http-proxy-middleware的文档,发现很难在与http-proxy-middleware中的proxy(['/api/**', '!**/bad.json'], {...})
相对应的webpack中找到正确的解决方案。
我尝试过:
devServer: {
disableHostCheck: true,
proxy: {
'!sockjs': {
target: `http://0.0.0.0:8000`,
},
},
port: 9000,
},
和
devServer: {
disableHostCheck: true,
proxy: {
[['/**', '!**/sockjs']]: {
target: `http://0.0.0.0:8000`,
},
},
port: 9000,
},
我知道bypass
,但是它也不起作用。
devServer: {
disableHostCheck: true,
proxy: {
'/': {
target: `http://0.0.0.0:8000`,
bypass: function(req, res, proxyOptions) {
if (req.originalUrl.startsWith('/sockjs')) {
return '/index.html';
}
},
},
},
port: 9000,
},