我需要为我的webpack开发服务器路径设置标头,但是如您所见,对于该配置,我必须为我要指定的每个URL复制代理配置,是否有任何方法可以干燥该配置?
devServer: {
port: 3120,
host: "10.0.0.46",
publicPath: "http://10.0.0.46:3102/dist/js/",
hot: true,
compress: true,
contentBase: path.join(__dirname, "public"),
proxy: {
"/customer/x": {
target: "http://localhost:3100",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
},
"/cluster/**": {
target: "http://localhost:3100",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
},
"/server/**": {
target: "http://localhost:3100",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
},
"/data": {
target: "http://localhost:3100",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
},
"/graph": {
target: "http://localhost:3100",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
}
}
}
如您所见,除url部分外,所有代理配置设置均相同。
我的版本是:
"webpack": "^2.2.1"
"webpack-dev-server": "^2.4.5"
如果要代理到同一目标的多个特定路径,则可以使用带有上下文属性的一个或多个对象的数组:
proxy: [{
context: ["/auth", "/api"],
target: "http://localhost:3000",
secure: false,
onProxyReq: function (proxyReq, req, res) {
proxyReq.setHeader('X-Forwarded-User', 'user');
}
}]