事件模块
在Node中:
- 大多数的Node.js核心API都是采用惯用的异步事件驱动架构(fs/http)
- 所有能触发事件的对象都是EventEmitter类的实例
- 事件流程:引入模块—>创建EventEmitter对象—>注册事件—>触发事件
// 模块: 分为两种 1.自定义模块(movie.js) 2.系统模块(events)
/*
* 自定义模块: 引入时必须要加路径
* 系统模块: 引入时直接写名字
* */
// 事件模块
var events = require("events");
// element.on("click",callback); // jq的事件格式
// 实例化事件对象
var myEmitter = new events.EventEmitter();
// 注册事件
// myEmitter.on("事件名称","回调函数");
myEmitter.on("someEvent",function (msg) {
console.log(msg);
});
// 触发事件
myEmitter.emit("someEvent","查看事件触发时,是否可以打印传递过去的参数!");
文件系统模块
文件系统模块主要是对项目中文件的操作
- 读取文件(fs.readFile)
- 写入文件(fs.writeFile)
- 流程:引入fs模块—>调用方法—>异常捕获
文件的读写(同步,异步)
// 文件系统模块
const fs = require("fs");
// read a file 同步
var readMe = fs.readFileSync("readMe.txt","utf8");
console.log(readMe);
// write a file 同步
fs.writeFileSync("writeMe.txt","Hello World");
// read a file 异步
fs.readFile("readMe.txt","utf8",function (err,data) {
if (err) throw err;
console.log(data);
});
console.log(1111); 测试异步
// write a file 异步
fs.readFile("readMe.txt","utf8",function (err,data) {
if (err) throw err;
fs.writeFile("writeMe2.txt",data);
});
文件的创建,删除
- mkdir:创建文件夹
- rmdir:删除文件夹
- unlink:删除文件
var fs = require("fs");
// 删除文件
fs.unlink("writeMe2.txt");
// 创建文件夹 同步
fs.mkdirSync("stuff");
// 删除文件夹
fs.rmdirSync("stuff");
// 创建文件夹 异步 并 读写文件
fs.mkdir("stuff",function () {
fs.readFile("readMe.txt",function (err,data) {
if (err) throw err;
fs.writeFile("./stuff/writeMe2.txt",data);
});
});
// 删除文件 异步 并删除文件夹
fs.unlink("./stuff/writeMe2.txt",function () {
fs.rmdir("stuff");
});