title: Node.js学习笔记(一)
date: 2017-09-23 21:37:48
Node,js是什么
a.Node.js是一个采用C++语言编写而成的,一个后端的Javascript运行环境(支持的系统包括*nux、Windows),它不是一个javascript应用.
b.Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程(包括HTTP、DNS、NET、UDP、HTTPS、TLS等)等.
c.Node.js的设计特点是以事件驱动为核心,采用异步编程的设计思想.也就是说我们使用过程中引入了了相应的模块以后,需要根据自己的业务逻辑注册相应的回调函数.这些回调函数都是异步执行的,这意味着虽然在代码结构中,这些函数看似是依次注册的,但是它们并不依赖自身出现的顺序,而是等待相应的事件触发.
Node.js发展简史
2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。
2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用。
2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。
2010年年底,Node.js获得云计算服务商Joyent资助,创始人Ryan Dahl加入Joyent全职负责Node.js的发展。
2011年7月,Node.js在微软的支持下发布Windows版本。
2012年1月,达尔离开了Node.js项目,开发工作由他的同事以及npm创始人艾萨克·施吕特(Isaac Schlueter)继续主持。
2014年2月,蒂莫西·费里斯(Timothy J. Fontaine)接任项目主管。
Node.js开发对象类型
- 核心模块
- 全局对象
- 第三方对象 ( 自己写的/ npmJS官网上下载的)
Node.js核心模块
- 使用方法:”声明引入对象” 例如:引入文件操作对象
cosnt fs = require('fs')
- 注意:所有的API都提供了同步和异步的两个版本,
- 同步会阻塞后续代码执行
- 异步不会阻塞后续代码执行,nodejs官方建议我们更多的使用异步的
Node.js全局对象
- setTimeout
- console 控制台
- process 代表当前启动Node程序的进程
- process属性
- argv 获取命令行的所有参数,默认是字符串形式,中间以空格分隔
- env 获取当前系统环境变量
- process相关函数
- process.pid 获取进程id
- process.kill
- process属性
Node.js第三方对象
- 待定内容