请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

这样写的话线上环境怎么办?

老师也说了,这个node.js的开发服务器是存在于本地的,老师写了这么一段代码:

	let url = "/api/activity/servicetime"
	jsonp(url,(err,res)=>{
		let result = res
		//....
	})	

问题就在于这个url,线上环境的url应该不是这样子(比如没有/api)的把?那我们还得把所有的url再改一次?还有个问题是老师讲的用代理的方式来处理跨域到底应该用在什么样的场景下面呢?如果线上环境后端一定会做Cors处理吧?我不太明白到底啥时候需要自己本地代理来处理跨域。

正在回答 回答被采纳积分+3

2回答

河畔一角 2020-02-17 16:24:39

跨域需要满足三个条件:同协议,同域名,同端口。
如果你是全栈项目,一定会有后台,那么如果你满足跨域条件,你在本地调用接口的时候就一定会遇到跨域问题,这个时候本地就需要用本地代理来解决这个问题,这也是Vue官方给我们预备的方案,通过vue.config.js来设置代理,但是这个方案仅仅只能在本地使用,当你做完部署到线上的时候,就要修改nginx配置来做反向代理,我们课程在最后部署的时候会讲解线上怎么配置。

0 回复 有任何疑惑可以回复我~
  • 提问者 慕莱坞0998854 #1
    老师,我的意思是视频中的接口地址都是localhost,那么真正的线上地址肯定不是localhost吧,我就不知道应该怎么做处理,也许后续的可能会有介绍把。
    回复 有任何疑惑可以回复我~ 2020-02-17 17:05:45
  • 本地是localhost,代表本机,对应的是自己电脑的ip,部署到线上以后就会对应线上服务器ip,ip又可以用域名代替,所以线上可以用域名来访问。这些知识说起来能说很多,你需要不断学习,慢慢掌握这些知识。
    回复 有任何疑惑可以回复我~ 2020-02-17 17:12:39
  • 提问者 慕莱坞0998854 回复 河畔一角 #3
    对嘛,这里讲的是本地开发,后面假如会部署到线上的话,应该会对这个url做处理吧。
    回复 有任何疑惑可以回复我~ 2020-02-17 17:14:18
河畔一角 2020-02-17 16:20:55

课程在最后有线上部署章节,会讲解线上服务器如何添加代理来解决这个url问题,并不需要再次修改所有url。
使用场景:前后端用的是不同的域名,前后端分离,这个情况下,就属于跨域,我们就要有应对方案,我们课程讲的就是其中之一,代理解决跨域。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信