欢迎来到天天文库
浏览记录
ID:11143187
大小:138.50 KB
页数:33页
时间:2018-07-10
《nodejs教程javascript标准参考教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Node.js概述目录·简介·安装与更新·版本管理工具nvm·基本用法·REPL环境·异步操作·全局对象和全局变量·模块化结构·概述·核心模块·自定义模块·http模块·基本用法·处理POST请求·发出请求:get方法·发出请求:request方法·搭建HTTPs服务器·模块属性·模块方法·Buffer对象·异常处理·try...catch结构·uncaughtException事件·正确的编码习惯·命令行脚本·参考链接简介Node是JavaScript语言的服务器运行环境。所谓“运行环境”有两层意思:首先,J
2、avaScript语言通过Node在服务器运行,在这个意义上,Node有点像JavaScript虚拟机;其次,Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件、新建子进程),在这个意义上,Node又是JavaScript的工具库。Node内部采用Google公司的V8引擎,作为JavaScript语言解释器;通过自行开发的libuv库,调用操作系统资源。安装与更新访问官方网站nodejs.org了解安装细节。安装完成以后,运行下面的命令,查看是否能正常运行。$node--vers
3、ion#或者$node-v更新node.js版本,可以通过node.js的n模块完成。$sudonpminstalln-g$sudonstable上面代码通过n模块,将node.js更新为最新发布的稳定版。n模块也可以指定安装特定版本的node。$sudon0.10.21版本管理工具nvm如果想在同一台机器,同时安装多个版本的node.js,就需要用到版本管理工具nvm。$gitclonehttps://github.com/creationix/nvm.git~/.nvm$source~/.nvm/nvm.s
4、h安装以后,nvm的执行脚本,每次使用前都要激活,建议将其加入~/.bashrc文件(假定使用Bash)。激活后,就可以安装指定版本的Node。#安装最新版本$nvminstallnode #安装指定版本$nvminstall0.12.1 #使用已安装的最新版本$nvmusenode #使用指定版本的node$nvmuse0.12nvm也允许进入指定版本的REPL环境。$nvmrun0.12如果在项目根目录下新建一个.nvmrc文件,将版本号写入其中,就只输入nvmuse命令即可,不再需要附加版本号。下面是其他
5、经常用到的命令。#查看本地安装的所有版本$nvmls #查看服务器上所有可供安装的版本。$nvmls-remote #退出已经激活的nvm,使用deactivate命令。$nvmdeactivate基本用法安装完成后,运行node.js程序,就是使用node命令读取JavaScript脚本。假定当前目录有一个demo.js的脚本文件,运行时这样写。nodedemo //或者 nodedemo.jsREPL环境在命令行键入node命令,后面没有文件名,就进入一个Node.js的REPL环境(Read–eval
6、–printloop,"读取-求值-输出"循环),可以直接运行各种JavaScript命令。$node >1+1 2 >如果使用参数--use_strict,则REPL将在严格模式下运行。$node--use_strictREPL是Node.js与用户互动的shell,各种基本的shell功能都可以在里面使用,比如使用上下方向键遍历曾经使用过的命令。特殊变量下划线(_)表示上一个命令的返回结果。>1+1 2 >_+1 3在REPL中,如果运行一个表达式,会直接在命令行返回结果。如果运行一条语句,就不会有任何输出
7、,因为语句没有返回值。>x=1 1 >varx=1上面代码的第二条命令,没有显示任何结果。因为这是一条语句,不是表达式,所以没有返回值。异步操作Node采用V8引擎处理JavaScript脚本,最大特点就是单线程运行,一次只能运行一个任务。这导致Node大量采用异步操作(asynchronousopertion),即任务不是马上执行,而是插在任务队列的尾部,等到前面的任务运行完后再执行。由于这种特性,某一个任务的后续操作,往往采用回调函数(callback)的形式进行定义。varisTrue=function(
8、value,callback){ if(value===true){ callback(null,"Valuewastrue."); } else{ callback(newError("Valueisnottrue!")); }}上面代码就把进一步的处理,交给回调函数callback。Node约定,如果某个函数需要回调函数作为参数,则回调函数是最后一个参数。另外,回调函数本身的第一个
此文档下载收益归作者所有