Kev*_*eal 2 post webpack webpack-dev-server
在我的项目中,我称:
$ webpack-dev-server --history-api-fallback
Run Code Online (Sandbox Code Playgroud)
并启动上可用的快递服务器(我假设)localhost:8080。
效果很好,除了我想通过POST将表单提交到加载我的应用的iframe中;localhost:8080开发中和生产中的其他东西。
我不希望在开发中对POST数据做任何事情,但是在生产中,它必须是POST。
但是,当我尝试使用POST时, cannot find POST /
是否有配置选项或其他解决方案可让我使用webpack-dev-server?(我真的不想为此写我自己的服务器)。
您正在寻找的是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")
})
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:如果你想更好地看一看, 我已经向 github推送了一个简约的例子。
@cowCrazy有一半的故事,但是没有显示如何在POST的情况下对GET做出相同的响应,这正是我所寻找的。
在Webpack配置中,您可以执行以下操作:
module.exports = {
...,
devServer: {
setup(app) {
app.post('*', (req, res) => {
res.redirect(req.originalUrl);
});
},
}
}
Run Code Online (Sandbox Code Playgroud)
这将仅使用POST URL并使用相同的URL重定向,使其成为GET请求。
不会出现服务器错误,它将使用GET进行重定向。
| 归档时间: |
|
| 查看次数: |
4819 次 |
| 最近记录: |