怎样做淘宝网站建设,网站开发联系方式,商务网站模板下载,wordpress移除编辑器区块Node.js的内置模块 module模块global全局变量Console控制台Errors错误模块捕获异常异步方法通过回调函数传递异常事件触发器对象异常捕获 module模块
使用module模块可以查看Node.js所有的内置模块、在所有模块中都可以使用的全局变量、程序在运行过程中可能会出现的四类错误。… Node.js的内置模块 module模块global全局变量Console控制台Errors错误模块捕获异常异步方法通过回调函数传递异常事件触发器对象异常捕获 module模块
使用module模块可以查看Node.js所有的内置模块、在所有模块中都可以使用的全局变量、程序在运行过程中可能会出现的四类错误。
const builtinModules require(module)
console.log(builtinModules)在Terminal运行node module.js,会出现如下图所示的内置模块。 注以上的内置模块的导入直接通过require(‘模块名’)即可。
global全局变量
在Node.js中可以全局访问的变量包括JavaScript本身的内置对象和Node.js特定的全局变量。Node.js提供的全局变量在所有模块中可以直接使用。
变量、方法或类功能说明Buffer类用于处理二进制数据__dirname当前模块的目录名。此变量看起来作用于全局但实际上不是__filename当前模块的文件名。此变量看起来作用于全局但实际上不是setImmediate方法在I/O事件回调之后调度callback立即 执行setInterval方法每延时数毫秒调度重复执行callbacksetTimeout方法在延时数毫秒后调度单次的callback执行console用于打印到标准输出和标准错误exports对module.exports的引用此变量看起来作用于全局但实际上不是module对当前模块的引用。此变量看起来作用于全局但实际上不是global全局的命名空间对象performanceperf_hooks.performance对象process进程对象require方法用于导入模块、JSON和本地文件TextDecoderWHATWG编码标准TextDecoder API的实现TextEncoderWHATWG编码标准TextEncoder API的实现URL浏览器兼容的URL类URLSearchParams提供对URL查询的读写访问为网址查询字符串而设计
Console控制台
Console模块导出两个特定组件Console类和全局的console实例。 全局的console无须调用required(‘console’)就可以使用。
Console类包括
console.log 打印内容到标准输出console.error 打印错误信息和堆栈跟踪信息console.warn 打印信息
const name langezuibang
console.log(name)
console.error(new Error(you code has bug!))
console.warn(hi ${name})运行结果 Console类可用于创建具有可配置输出流的简单记录器可使用console.Console进行访问。 Console类构造函数可以接收一个对象其中的部分可选配置项有stdout和stderr。stdout是用于打印日志或信息输出的可写流stderr用于警告或错误输出。如果为提供stderr,则stdout用于stderr。
// 引入fs模块
const fs require(fs)
// 在当前目录下生成日志文件
const output fs.createWriteStream(./stdout.log)
const errorOutput fs.createWriteStream(./stderr.log)
// 自定义的简单记录器
const logger new console.Console({ stdout: output, stderr: errorOutput })
const myName langezuibang
const age 18
logger.log(Im ${myName})
logger.log(age: %d, age)运行代码发现在当前目录下生成了stdout.log和stderr.log文件stdout.log文件内容如下
Errors错误模块
在Node.js中运行的应用程序通常会遇到以下4类错误 1.标准的JavaScript错误如、、、、、 2.由底层操作系统约束触发的系统错误 3.由应用程序代码触发的用户指定的错误 4.AssertionError是特殊的错误类当Node.js检测到异常逻辑时会触发这些通常由assert模块引发。
捕获异常
用try … catch语句
try {const a 1// c 未定义const b a c
} catch (err) {console.log(err.name)
}
console.log(do something)异步方法通过回调函数传递异常
const fs require(fs)
// 通过回调函数的对一个参数传递异常
fs.readFile(a file that does not exist, (err, data) {// 文件不存在捕获到异常if (err) {console.error(error!, err)return}
})
// readFile是异步方法因此会先继续执行后面的代码
console.log(go on)运行结果
事件触发器对象异常捕获
实例中通过net模块尝试创建到本地服务器的连接由于本地无可用服务器所以会发生异常此异常通过流添加到对象的error事件里。
const net require(net)
const connection net.connect(localhost)
connection.on(error, (err){// 向流中添加‘error’事件句柄// 如果连接被服务器重置或根本无法连接或者连接遇到任意类型的错误则将错误发送到这里console.error(err)
})错误相关的类
类功能说明Error通用的JavaScript对象不表示发生错误的任何具体情况。AssertionError表示断言的失败RangeError表示提供的参数不在函数可接收值的集合或范围内ReferenceError表示正在尝试访问未定义的变量SyntaxError表示程序不是有效的JavaScriptSystemErrorNode.js在其运行时环境中发生异常时会生成系统错误。TypeError表示提供的参数不是允许的类型