赞
踩
文章目录
nodejs现在非常流行,作为一个懂前端的javaScript程序员,如果你把你的技能用到后端,这也是一个不错的发展方向,所以从现在开始我们来轻松走一遍nodejs
首先我们来介绍一下文章要讲的内容,第一个肯定就是介绍nodejs,然后走一遍nodejs基础知识:比如说什么是全局对象、回调函数、模块、事件、文件系统、流等之类的,最重要的还是会介绍一个web服务器,怎么用nodejs创建一个web服务器,除此之外比较吸引大家的还有一些理论上的知识,比如说什么是同步、异步、阻塞、非阻塞?nodejs是怎么运行的?它的线程模式是怎么样的?它的异步又是怎样的?回调又是怎么执行的?它的事件又是怎么触发的?等等之类问题,这样才能更好理解nodejs。
另外还有一些nodejs进阶内容后期会介绍,比如:怎么使用文件系统的更高级的内容?还有事件、进程等,比如怎么实现一个购物车?怎么实现restful api的?最重要的会跟前端结合在一起,如react、angular、vue等之类,怎么实现全栈式的开发,然而你必须拥有一点点:javaScipt基础 、html基础、命令行基础,不用太多就是你只要了解过看过就可以啦!
现在我们来说一下nodejs,首先我们来看一下它的官网 https://nodejs.org ,它运行在V8 JavaScript 引擎中,nodejs以事件为驱动、非阻塞的 I/O模型实现轻量级、高效的开发,它有着丰富的生态圈如npm包等等。 nodejs它是运行在V8 JavaScript 引擎中,什么意思呢?要讲这个,我们首先要知道nodejs是怎么被创造出来的,它又能解决什么问题呢?
我们先来讲一下JavaScript,因为nodejs是服务端的JavaScript,可以这么简单理解,JavaScript是一个脚本语音,它是需要解析器才能运行的,而浏览器就充当了这个解析器的角色,在谷歌浏览器中这个解析器就是一个V8引擎,它能够把JavaScript语法高效的转换成机器码,然后进行执行,而这个V8引擎它是用c++写的,性能比较高。
随着时代的发展各种应用层出不穷,比如说3D动画等,这样的话对V8引擎的要求也会越来越高,那么它的性能也需要得到相应的提高,V8引擎它是浏览器的一部分,它是作为解析JavaScript语法的一个部分而存在的,这个V8引擎它本身是开源的。那么如果把它单独抽出来,那么可以这样说除了浏览器,在其它地方也可以运行JavaScript,是不是这样呢?
nodejs的作者他的初衷是要创造一个高性能的web服务器的,但是他在写Nginx模块的时候,他就已经思考了怎么能够创造出一种类似于Nginx高性能异步的web服务器,然后又能很方便写一些模块、功能,这样的服务器!
我们知道Nginx是一个高性能、异步的强大web服务器,如果你要对它进行扩展的话,那你就要用c语言来写Nginx的模块,这样对程序的要求是非常高的。于是他想能不能写一个类似于Nginx的高性能的web服务器,然后又方便扩展它的功能!
那么它需要一种语言,那么这个语言就要像开发Nginx模块那样,是个非阻塞、异步的模型!也就是说这个语言最好具有事件机制 和 异步I/O的特点,然后又没有自带I/O功能的,那么JavaScript就是最好的选择,它本来就没有自带I/O功能,因为它天生就是处理Dom事件的,然后它又有一些事件机制、还有异步I/O的特性。比如说 我们在浏览器中放置一个事件,当点击的时候onClick,这种就是事件机制,还有异步I/O,比如说我们在发送二次请求的时候,那么这个JavaScript就是最好的选择。
在2008年的时候这个V8引擎的源码就已经开放出来了,那么把这个V8引擎加进来,然后通过自己的一些改造,就形成了nodejs,nodejs大概就是这样出来的!后面我们会具体介绍它怎样一个异步I/O的特性,还有事件机制是怎样的!
我们来总结一下,nodejs是高性能的,它体现在一个是JavaScript解析速度很快,因为V8引擎的性能很高,另一个是因为它以事件为驱动、非阻塞I/O。nodejs那么它以事件为驱动、非阻塞I/O,就会性能很高呢?后面我们会介绍。
然后它的生态圈很好,它的生态圈体现在npm包这里,在网上有很多npm包,你可以下载下来,直接就能用了,这样就不用重复造轮子,快速利用他人的成果,来实现我们的开发。从nodejs本身来说,它提供给我们的是:一个JavaScript运行环境 、能操作一些文件(如:grunt、gulp、webpack )、还有能操作一些数据库。
那么这样它就可以做一些后端应用,从实际应用来说它能够写一些api作为后端来使用、还可以写一些小工具、它可以实现web全栈式的开发、还可以写一些聊天室的应用,这一些就是为什么nodejs能够流行的原因。它用的JavaScript脚本语言,因为JavaScript脚本语言用的人很多,那么写前端的人它也可以轻易上手写一些后端,这样也就是web全栈式的开发!
首先进入它的官网 https://nodejs.org ,然后直接下载下来,一直下一步安装就行。
其中 10.16.3 LTS 版本是长期支持的稳定版本,它会不断的修复bug。12.10.0 Current版本是最新版本,它会把一些新加入的特性到这个版本中。如下图,输入命令,出现版本信息,说明安装成功!
我们要写nodejs代码,这里推荐一个编辑器visual studio code,不是一定要用这个,哪怕你用记事本也可以!安装很简单,就像安装nodejs那么简单,这里就不讲了!我之前做过vue开发,已经安装好了,安装好以后,我们打开编辑器visual studio code,你可以使用快捷键 command + shift + y 调出终端!也可以如下图安装插件 terminal
现在我们随便建立一个文件夹,然后如下图打开,新建一个app.js的文件,
然后我们鼠标右击,点击Open in Integrated Terminal,
然后我们双击 app.js文件,在里面编辑一行代码,在终端输入:node app.js,
就有输出效果了,它输出 hello world,这样我们就可以一边写代码一边看开发效果了。
开发环境也就搭建好了!(其实我当初做过vue开发,已经这样搭建过了,是一样的)
node
visual studio code
https://code.visualstudio.com/
下一篇文章:Node.js后端开发 - 基础篇 #2 全局对象
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。