有了Vue + Nginx,为什么还要Node?
有了Vue + Nginx,为什么还要Node?
-----
网友解答:
-----
我日,你知道自己在说什么吗?vue是一个前端框架,就是html/js/css。nginx是强大的静态http服务器。nodejs是一个js版的多功能语言,可以做工具,可以开发web容器,也就是动态http服务器,也能做很多奇奇怪怪的事情。这三者毫无可比性,一丁点可比性都没。
-----
网友解答:
-----
首先概念先捋清楚:
Vue是前端开发框架(类似的框架还有React、Angular等),Nginx是Web应用服务器(类似的Web服务器还有Apache、Tomcat等),Node是基于Chrome V8引擎的JavaScript运行环境(可以理解成编程语言)。Nginx在这里只是作为一个Web应用服务器来承载应用程序(常用的后端语言还有Python、java、C#、Php等)。Nginx处理静态文件、索引文件及自动索引的效率非常高,它具备高效、灵活、高并发、低内存消耗的特点可以充分的利用服务器资源从而降低运营成本。但其本身并不提供服务的业务逻辑实现,这就需要一个后端服务来响应用户的请求,Node就是一门可以让 JavaScript运行在服务端的开发平台。这是前端工程师的福利,意味着前端工程师也可以做后端开发了。
什么是Nginx
Nginx是一款灵活、稳定、高效、低消耗的轻量级Web服务器,支持HTTP和反向代理及电子邮件(IMAP/POP3/SMTP)等服务。它具的高性能、高并发、低内存消耗及开源免费让深受业界追捧和公司青睐,也因此得到很多企业的广泛应用。
什么是NodeJS
Node是一个基于 Chrome V8 引擎的JavaScript运行环境,可以让 JavaScript运行在服务端的开发平台。Node提供了强大的npm代码管理应用和webpack等工具包,能够很方便、快捷高效的解决项目依赖和部署问题轻松搭建Web应用,借助事件驱动和非阻塞 I/O 模型可以大大的提升了开发的性能。Node已经发展成为一个成熟的开发平台并吸引了许多开发者,它非常适合轻量级、快速的实时web应用程序,现在有许多项目都采用Node进行开发(Web应用、程序监控、媒体流、远程控制及移动应用)。
所以您的问题并不存在争议,因为他们并不是同一类产品哦!建议可以先了解下相关产品,这样你就知道是否适用了。
-----
网友解答:
-----
首先纠正一个概念:node是一个Javascript运行环境(runtime),nginx是服务/容器。
node.js 能做的事java,php能做的更好,那为什么还要有node.js呢
node.js的长处在于I/O密集型(数据库读写)应用,node.js天生就是异步非阻塞的。异步非阻塞的优点在于能够在单进程单线程处理多个socket I/O,相对于PHP的多进程模式可以减少进程的上下文切换消耗,而且使用的系统资源也会比PHP少。所以在I/O密集型应用中,PHP的并发数可能不如node.js。
nodejs的 web接口,高并发web接口,nodejs比java、php、python都快得多,不是一点得快,是几十倍的快,这在实际应用中可非常重要了,尤其是接口响应速度
nodejs是IO异步方式,写过javascript的都知道回调函数被大量使用,这点php做不到,php处理都是同步执行的,命令必须逐条被执行,nodejs不用的,这样节省了很多时间,在等待IO处理的时候,可以做其它事情。
-----
网友解答:
-----
Vue 配合 node 大部分的原因是因为
1.就目前而言,vue 对 node 的服务端渲染支持最好(反过来说就不准确了)。并不是说除了node 以外就不能做服务端渲染了,只要你够强,你可以使用 go 把 vue 的 js 逻辑跑一遍,只要能够渲染出字符串,那你理论上来说用什么语言都是无所谓的。但是 Node 天生 js,所以 Node 最方便。
2.某些 Vue 无法做到的事情,Node 可以做。没错,这部分不能做的事情就是服务器逻辑,包括,数据存储,数据缓存,用户登录鉴权等等等等..
3.前后统一语言,都是 JavaScript
搞清概念:什么是 Vue + Nginx
Vue 只是一个 UI 层的框架,因此他打包出来的就是一套 UI 的静态文件:html + js-bundle。对于静态文件,其实 Node 也是可以处理的,但是鉴于 node 一般用来作为逻辑服务器的存在,们会把静态服务器放在 Nginx 这一层返回给用户,因为 Nginx 在静态文件处理上来说很专业,自带的一些功能也非常多,譬如 Gzip 配置一下就可以了。
因此,这个层面来看,如果只是 Vue + Nginx 的话,你大概就能做出一个静态的页面,
如果你想要动态的页面,可能需要一个逻辑服务器帮助你,那么这个逻辑服务器就是 Nodejs (当然也可以是其他任何语言,python 、C\c++、java、go)
-----
网友解答:
-----
vue这种前端框架更新太快了,搞不好没几年就会被淹没在其他框架之中,而node在后端也能发挥很大的作用,这是他的一大长处,也是他不容易被其他语言取代的重要原因,到目前为止,能在前后端通吃,而且性能像node这样强悍的语言还真不多见,所以我觉得node是必须学的,至于nginx,他只是一个代理服务器罢了,他属于系统集成范畴,不属于编程领域讨论的范畴
------------------
推荐阅读:
上一篇:家境一般去澳大利亚留学现实吗?
下一篇: 你相信天意吗?