前后端分离项目,前端后端在不同的端口号上分别启动 ,调试时数据交互就会产生跨域问题。前端后端都有相应的解决方案。这里对前端的解决过程记录一下。
angular 6
在项目根目录添加 json 文件 proxy.config.json
文件内容如下:
{
"/api": {
"target": "http://localhost:62330",//后端接口地址
"secure": false,
"logLevel": "debug",
"changeOrigin": true,
"pathRewrite": {
"^/api": ""
}
}
}
找到 项目根目录下的 angular.json 文件,找到 projects节点->architect节点->serve节点->option节点
追加内容:
"proxyConfig": "proxy.config.json"
修改之后的serve 节点内容如下:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "PayLife:build",
"proxyConfig": "proxy.config.json" //追加的配置代码
},
"configurations": {
"production": {
"browserTarget": "PayLife:build:production"
}
}
},
配置成功后,要访问 http://localhost:62330/account/login 只需要在 Url的位置写
const url = `/api/account/login`;
就可以实现跨域请求。
解决方式和vue 2.x差不多,都是配置json文件,配置代理地址。