一、全局对象
1、console 输出打印
2、__dirname 当前文件的路径
3、__filename 当前文件的文件名和路径名
4、buffer 存储大量的数据(自动将数据转换为二进制使用时需要new,可以用toString()方法转换成字符串格式)
5、setTimeout 超时调用(参数为一个函数)
6、setIntval 间歇调用(参数为一个函数)
7、module 模块
8、exports 曝光 是模块下的一个属性可以单独使用一般组合使用 用于曝光一个变量,对象,方法,构造函数,工厂函数
9、require 引入 参数为文件名,一般用来获取这个文件内被曝光的对象
二、模块
1、os(operation system)操作系统
①os.platform() 打印操作系统详情
②os.cups() 打印cpu的参数和核数(返回值为数组类型,数组长度就是cpu的核数)
③os.hostname() 打印主机名称
④os.arch() 打印cpu架构
2、process 进程
①process.pid 查看当前进程id
3、events 事件
使用该模块需要发射监听 Event.Emitter 该方法是个构造方法需要new
在这里我们使用一下
var em=new events.EventEmitter
①em.on() 监听事件对象(第一个参数是事件名称用作触发事件,第二个参数是函数)
②em.emit() 触发事件对象(一个参数为事件名)
③em.once() 可以监听事件但是只能触发一次(与①参数一样)
4、util 工具
①util.format() 格式化字符串 (两个参数第一个参数是一个字符串,字符串内包含%b【数字型】或者%s【字符型】,第二个参数是会替换第一个参数的特殊符号)
②util.inspect() 打印对象的详情 (一个参数及要打印的对象)
5、path 对文件的路径进行操作
①path.parse() 获取文件路径的解析,比如该文件的扩展名,文件路径等(参数为路径+文件名)
②path.extname() 获取文件的扩展名(参数为文件名)
③path.join() 连接两个或多个文件或路径(参数为文件名或路径)
④path.isAbsolude() 判断一个路径格式是不是绝对路径 返回布尔值 (一个参数及要判断的路径)
6、stream 流
流主要分为:读流、写流、读写流
读流:Readable
写流:Writable
读写流:Duplex
7、fs (file System)文件系统
不存在的路径会自动创建
①fs.writeFile() 填写文件内容(异步)三个参数。第一个文件路径,第二个要写的内容,第三个是回调函数返回error
②fs.writeFileSync()填写文件内容(同步)两个参数。第一个文件路径,第二个要写的内容
③fs.readFile() 读取文件的内容(异步) 两个参数。第一个要读文件的路径,第二个是回调函数,回调函数有两个参数,第一个是error第二个是数据,数据存储在buffer里
④fs.readFileSync()读取文件的内容(同步)一个参数。是要读文件的路径,返回数据存储在buffer里
⑤fs.appendFile() 追加文件内容(异步)三个参数。第一个文件路径,第二个要追加的内容,第三个是回调函数返回error
⑥fs.appendFileSync() 追加文件内容(同步)两个参数。第一个文件路径,第二个要追加的内容
⑦fs.rename() 修改文件的名字(异步) 三个参数,第一个是旧路径,第二个是新路径,第三个是回调函数返回error
⑧fs.renameSync() 膝盖文件的名字(同步) 两个参数,第一个是旧路径,第二个是新路径
8、读流、写流
读流写流均需要引入文件模块,读流两个事件,写流两个方法
var a=new stream
①读流格式
var a=fs.createReadStream(文件路径)
a.on('data',function(data){
console.log(data)
})
该事件可直接使用
a.on('end',function(){
condole.log('end')
))
该事件需要先使用data事件,否则无作用,且该事件后不允许再使用data事件会报错
②写流格式
var b=fs.createWriteStream(文件路径)
b.write(要写的内容)
b.end()
end方法需要先使用data方法,否则无作用,end方法之后不允许使用data方法否则报错
9、net 网
①后台
//①引入net模块
var net=require('net')
//②创建服务端对象
var obj=net.createServer(function (client){
//⑤返回client对象(从客户端)
//⑥调用继承流的data事件
client.on('data',function (data) {
console.log(data.toString())
})
})
//③监听端口
obj.listen(3001)
//④监听事件
obj.on('connection',function () {
console.log(111)
})
②前台
//①引入net模块
var net1=require('net')
//②创建链接对象
var client=net1.createConnection(3001,'10.0.2.115')
//③触发connect事件
client.on('connect',function () {
//④使用继承流的方法写文本
client.write('linwenyu')
})