写在前面

前面我已经分享了100+篇前审察干的技能文章,都是自己平时事情中碰着的一些问题的问题,还有是我平时自学的内容。
但是那些前端文章99%都是要基于浏览器。
其实在大前端时期,还有一个很主要的组成部分,那便是NodeJs了。
接下来的专题,我们就来分享一下NodeJs的基本和高等运用吧

本章,我将从以下几个方面来分享一下NodeJs的干系知识点。

nodejsphpjavaNodeJs一我对NodeJs的认知 Vue.js

NodeJs是什么?NodeJs有什么上风和不敷NodeJs有哪些运用NodeJs是什么?

前端开拓在2009年之前,该当说都是基于浏览器的,也便是说,前端程序员能掌握的就只有浏览器了。

比如我们想操作一下我们本地的文件,连接一下数据库等,基于安全机制,这些都是不被许可的。

这也就导致了前端一贯是在程序员的鄙视链的最底端了。
彷佛那时候,ajax彷佛是前端程序员唯一的“遮羞布”了。

然后,我们依然分开不了后真个支持。

直到2009年,NodeJs横空出世。
彻底巅覆了前真个技能分支,NodeJs也可以像Java,php等后端措辞一样进行做事真个开拓了。

根据官网的先容,NodeJs是基于Google的chrome V8引擎开拓的。

先来大略说一下,chrome v8是啥?它是google公司基于C++编写的,它可以用一解析JavaScript,v8的性能是非常高效的。

NodeJs并不是一门新的措辞,它是一个js的一个运行环境,这个运行环境可以理解便是可以开拓做事器真个程序。
它的语法和普通的JS没什么差异。
因此对付前端程序员来说,是非常友好的。

Nodejs的上风和不敷

NodeJs的最大特点便是它 基于事宜驱动异步非壅塞I/O

基于事宜驱动是什么意思呢?事宜这个观点在我们传统的dom中该当很常见了吧,举个例子

比如我们要读取一个本地大文件。
我们只须要传入一个文件路径,然后加上一个回调函数,当文件读取完成后,将会触发一个成功的回调的函数,从而我们可以连续处理后面的逻辑。
而读取文件的过程本身便是一个耗时的过程。
异步将不再壅塞后面的程序连续运行

如果这个过程是一个同步的过程,那个后面的操作将要等到文件读取完成后再去实行了,这就造成了壅塞。
像java php,他们都是同步的操作。

以是Nodejs的上风就已经表示出来了,对付高并发的网站,用NodeJs来处理用户的要求将比java和php都要高效。

哇,觉得NodeJs太牛了,那它有缺点吗?能把java,php它们干趴下吗?答案也很明确:不能。

既然NodeJs处理并发的能力要远远优于java,php,那为什么现在很多网站或者App的后台还是基于Java呢?

前段韶光,口试的过程一样平常都会问口试官他们公司的后端用的是什么措辞,答案都是java,只有一家是python。

NodeJs有一个缺陷(痛点),那便是NodeJs打算能力远远不如java这样的编译型措辞。

NodeJs的运用

NodeJs的地位彷佛有点尴尬,有高并发,但是后台一样平常又不用它。
一样平常来说,一个大型的网站的后台可以利用多种措辞,会结合每个措辞的上风发挥各自的上风。

比如现在很多网站,都是用NodeJs来处理高并发,然后用Java这种稳定型的去后真个做事。
Node便是我们常说的中间层了。

那。

除了作网站的中间层,还能做什么呢?大家不要忘了,自从NodeJs出来了,前端开拓越来越繁芜,也在逐步的走向工程化了。

这个中最盛行的打包工具就属webpack了,webpack本身,基于webpack的插件,loader都是基于Nodejs,如果没有NodeJs作为底层做事,这些将不复存在了。

当然,基于Nodejs的运用远远不止这些。
更多Nodejs的知识点,后续将为大家逐一分享。

总结:我们可以通过JS语法可以实现java实现的任何功能。
他们各自有自己的上风。
没有谁优于谁。
Nodejs为前端开疆拓土。
为前端注入了新的血液。
NodeJs在前端工程化的运用。

这里是【畅哥聊技能】的《NodeJs》专题系列。
更多内容持续更新中。

下期我们接着聊,未完待续。