在我的项目中,我打电话给:
$ webpack-dev-server --history-api-fallback
它启动了localhost:8080
上可用的快速服务器(我假设)。
除了我想通过POST将表单提交到加载我的应用程序的iframe之外,它的效果很好;开发中的localhost:8080
和生产中的其他东西。
我不希望在开发过程中对POST数据做任何事情,但在生产中,它需要POST。
当我尝试使用POST时,它cannot find POST /
是否有配置选项或其他解决方案允许我使用webpack-dev-server
? (我真的不想为此编写我自己的服务器。)
答案 0 :(得分:2)
您要找的是devServer
。贝娄,你可以看到我的配置。在setup(app)
下,您可以添加"几乎"无论你想要什么:
module.exports = {
...,
devServer: {
inline: true,
port: 3000,
publicPath: '/',
setup(app){
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.get("/get/some-data", function(req, res){
console.log(req);
res.send("GET res sent from webpack dev server")
})
app.post("/post/some-data", bodyParser.json(), function(req, res){
console.log(req.body);
res.send("POST res sent from webpack dev server")
})
}
}
}
修改强> 如果你想要更好看的话,我已经把简约example推到了github。
答案 1 :(得分:0)
通过将POST请求转换为GET请求来检查是否解决了您的问题:
bypass: function (req, res, proxyOptions) {
const url = req.url;
req.method = 'GET';
if (url.indexOf('?') > -1) {
return url.replace('?', '.json?');
} else {
return url + '.json';
}
}