我在端口8080上使用版本3.1.5的webpack-dev-server,该服务器应该代理/api/**
请求以在端口8081上模拟服务器,但事实并非如此。相反,它代理请求到无处。
这是webpack-dev-server的配置:
devServer: {
publicPath: '/app/',
historyApiFallback: {
index: 'index.html'
},
proxy: {
'/api/**': {
target: 'http://localhost:8081',
changeOrigin: true,
pathRewrite: { '^/api': '' },
logLevel: 'debug',
headers: {
Connection: 'keep-alive',
},
secure: false
}
}
}
当我在浏览器http://localhost:8080/api/hello中打开时,它显示待处理的请求。
在webpack-dev-server控制台中出现输出
[HPM] Rewriting path from "/api/hello" to "/hello"
[HPM] GET /api/hello ~> http://localhost:8081
在监听8081的模拟服务器中,没有输入请求的输出
$ mockserver -p 8081 -m ./mockserver
Mockserver serving mocks {verbose:true} under "./mockserver" at http://localhost:8081
如果我从单独的浏览器选项卡向http://localhost:8081/hello
发出了新请求,则会得到正确的响应,并在模拟服务器控制台中看到调试输出:Reading from mockserver/hello/GET.mock file: Matched
如果我停止模拟服务器,则没有任何变化。请求仍处于待处理状态。那表明模拟服务器没有收到请求,不是吗?