我没有写过后端代码! 我所理解的整个项目是,将前端写好的页面扔到某个tomcat或者apache或者nginx启动的服务器下.然后通过地址就可以访问整个页面了,然后页面自己去调后台接口. 我现在写了node当后端写接口,node本身就起了一个服务器,我用前端就可以直接访问,但是我是按照SSR的方式写的,也就是后端直接渲染页面.如果不用SSR,我写的静态前端页面是不是也要扔到某个tomcat或者apache或者nginx启动的服务器下,然后再启动node服务器,这样前台的页面才能调用node所写的接口呢? 目前对整个项目很是迷惑! 希望有人可以帮我梳理一下整个项目的具体流程.非常感谢
spa架构下 后端只负责接口的开发,前端负责客户端业务逻辑的开发,最后前端需要nginx作为代理服务器,放在nginx下面即可 mvc架构下,你只需要负责静态页面的开发,业务逻辑需要服务端处理 node服务端架构下,后端只负责接口的开发,你需要借助node来做服务端渲染
spa就是打包扔到服务器通过nginx访问 ssr扔到服务器开启node渲染,nginx反向代理一下之类 我自己经历是这样de 打包好了前端不需要启动服务器也是可以调用接口的因为方法封装在js里的
LZ没搞清楚tomcat、apache和nginx是什么。 Tomcat是Application Server,Apache和Nginx则是Web Server,这两者有区别。
Web Server一般是完整实现了HTTP协议的服务器,负责接收用户的HTTP请求,然后响应请求,至于这么处理这个请求,就要交给Application Server去处理了,Application Server里面跑着像PHP,Python的脚本。Web Server和Application Server之间需要通过协议沟通,比如CGI、WSGI这类东西。虽然一些Application Server也能充当Web Server,但是它们对HTTP协议的实现并不完整,因此生产环境下不会这么用。
像node这种本身自带Web Server的,就不需要额外弄一个Web Server了。SSR的情况下,直接服务端渲染返回,这个理解起来应该不难。如果非SSR,后端返回一个页面,前端要加去载。至于前端资源要放哪,可以有很多选择,直接放在项目静态资源目录下,或者上传到CDN,或者在nginx下开一个静态目录存放都可以。
谢谢楼上的每一位同志的解惑!