我正在使用 vue-cli
webpack-simple
模板来生成我的项目,并且我想将请求代理到单独的后端服务器。这怎么能轻松实现?
原文由 Mahmud Adam 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 vue-cli
webpack-simple
模板来生成我的项目,并且我想将请求代理到单独的后端服务器。这怎么能轻松实现?
原文由 Mahmud Adam 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 @vue/cli 3.x 中:
vue.config.js
文件(如果您还没有的话)。 // vue.config.js
module.exports = {
devServer: {
proxy: {
"/gists": {
target: "https://api.github.com",
secure: false
}
}
}
};
现在对(假设您的开发服务器位于 localhost:8080
) http://localhost:8080/gists
的任何调用都将被重定向到 https://api.github.com/gists
。
假设您有一个本地后端服务器,通常部署在 localhost:5000
并且您希望将所有调用重定向到 /api/anything
到它。利用:
// vue.config.js
module.exports = {
devServer: {
proxy: {
"/api/*": {
target: "http://localhost:5000",
secure: false
}
}
}
};
原文由 acdcjunior 发布,翻译遵循 CC BY-SA 3.0 许可协议
9 回答1.7k 阅读✓ 已解决
6 回答1.6k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.1k 阅读
2 回答1.2k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答4.9k 阅读✓ 已解决
9 回答17.6k 阅读✓ 已解决
3 回答7.6k 阅读
1 回答8k 阅读
1 回答2.5k 阅读✓ 已解决
如果您使用
webpack
模板和vue-cli
,那么您可以在此参考文档中找到所需的信息:http://vuejs-templates.github.io/webpack/proxy.html
或者现在不更改模板,您可以将
webpack
模板中的相关配置复制到本地webpack-simple
模板中。编辑:来自我的本地设置的更多信息
这就是我的
config/index.js
在module.exports
--- 下的内容:上面的配置在端口 4200 上运行我的
vue-cli
,我在端口 8080 上运行我的服务器。编辑:在评论 #4 和 #5 之后更正了有关 CORS 的信息
笔记:
dev.proxyTable
changeOrigin
选项(在 webpack 配置中)确保您不需要在服务器 API 响应中提供 CORS 标头。changeOrigin
,那么您需要确保您的服务器 API 在其响应标头中包含Access-Control-Allow-Origin: *
(或等效项)。参考: