最近在公司开始尝试前后端分离的方案。
后端采用thinkphp,为前端提供restful api。
前端用node.js+express,采用express后端渲染的方式来做。
现在有个问题。
我用node.js开发的时候,服务器地址是http://localhost:8000
。
而后端的域名地址已经绑定race.xxx.com
,后端给我的api地址是类似这样的http://race.xxx.com/index.php?m=app&c=post
。
那么我前端的这个http://localhost:8000
还有没有办法绑定race.xxx.com
呢?
照我的理解,这是同一个项目的东西,那么域名必然还是要同域吧。
可以在nodejs中使用http.request和http.get请求你的RESTFUL API接口,参考https://nodejs.org/api/http.html#http_http_request_options_callback
域名被解析后,肯定是只能对应到某一个IP的某个端口上的,多个应用是做不到的。
是否真的有必要做这样所谓的前后端分离?
一般我们的做法:后端提供类RESTful风格接口,使用内网域名
访问
在node端你需要利用request封装一个backend模块专门用来同php交互。
实际上你可以将thinkphp和node理解为两个应用,应用之间通过http请求交互。跟是不是同一个域名是没有关系的,请求本身就是跨域的