node.js是什么

JavaScript013

node.js是什么,第1张

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。

Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

扩展资料:

Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。

该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。尤其是对于熟悉onmouseover、onclick等DOM事件的用户,更有一种似曾相识的感觉。

title: Node.js基本语法

date: 2019-07-16 09:59:16

tags: [Node.js,Common.js]

categories: Web前端

除了我们刚刚用的 http 模块,Node.js中还有一些比较常用的模块

这是Node.js提供的路径模块。主要是为了解析路径

再Node.js中的每个模块除了都有 require 、 exports 等模块相关的API外,还有两个特殊的成员:

在Node.js中每个Js文件都是一个模块,都可以被其他的模块用 require('路径+文件名') 的方式引用。模块分为Node.js自带的系统模块和第三方模块,以及用户自定义的模块

模块的接口利用每个模块本身所提供的 module.exports 或 exports 对象即可,关于它们之间的区别会在后面说明自己的看法。

实际上在运行过程中,如果要加载第三方模块,系统默认会先在当前文件目录下的node_module文件夹下按名寻找对应的第三方模块。如果没有,则在向上一层目录下的node_module文件夹下按名寻找,依此类推,直到计算机盘符下的根目录下的node_module文件夹。

在有一定JavaScript语言的基础上学习原生Node.js相对容易,但是对于很多操作来说,过程还是过于繁琐,所以,接下来将在此基础上学习更加简洁高效的Express框架。

个有趣的问题是,为什么 Node 约定,回调函数的第一个参数,必须是错误对象 err (如果没有错误,该参数就是 null )?

原因是执行分成两段,第一段执行完以后,任务所在的上下文环境就已经结束了。在这以后抛出的错误,原来的上下文环境已经无法捕捉,只能当作参数,传入第二段。

全局对象可以在程序的任何地方进行访问,可以为程序提供经常使用的特定功能

const url=require('url')

const querystringl=require('querystring')

异步编程的含义是指在执行异步操作的时候,不会影响其他语句的执行

回调函数类似于C++中的递归,但是不同的是,node.js中的递归实在使用函数的时候,嵌套调用

fB()和fA()都是一个函数

在javascript中监听:

on(eventName,eventHandler)

handler一般指的是一个对象

当对象满足事件发生的条件时,Node.js就会自动触发监听事件,执行监听事件中事件监听器的函数内容。但是,我们也需要主动触发监听事件,此时,使用方法emit()

on(eventName,eventHandler)

在第一部分中,我们介绍了process对象,这是一个全局对象。这个对象主要是用来描述程序的状态的。我们前面都是在process对象上进行添加监听事件,删除监听事件等操作的。之所以有这些操作,是因为process对象已经继承了EventEmitter这个类,所以我们可以直接用EventEmitter的方法。我们也可以自己定义一个EventEmitter对象,来实现事件监听

package.json相当于说明书,可以让项目开发者对包的信息一目了然,其中有各种描述信息

NPM(node package manager),同Node.js一起安装的包管理和分发工具,能够很方便的让JavaScript开发者下载、安装、上传、管理已经安装的包。

npm安装包后,会自动在项目的当前目录下创建一个目录,目录的名称叫做node_modules,然后把第三方包自动放在该目录下

createServer()可以创建server对象

server.listen(port)启动服务器

server.close()关闭服务器

response.writeHead(statusCode,statusMessage,headers)

response.end(data,encoding,callback)

end就可以输出内容返回给客服端

暂未明白如何使用

回调函数callback参数error可以得到异常,直接判断error是否存在即可

fs.readdir(path,function(err,files){})

err得到异常,files得到目录

需要npm安装mysql模块