【node】--常用的模块介绍--events、http、fs、url、querystring
events 模块 、
1、events 模块 介绍
//引入核心模块 const EventEmit = require("events"); //创建一个类 继承核心模块方法 class MyEmitter extends EventEmit {} //实例化 const myEvent = new MyEmitter(); function fn1(val){ console.log(111,val) } function fn2(val){ console.log(222,val) } function fn3(val){ console.log(333,val) } function fn4(val){ console.log(444,val) } //addListener 事件绑定 myEvent.addListener("handleClick",fn1) myEvent.addListener("handleClick",fn2) myEvent.addListener("handleClick",fn3) myEvent.addListener("handleClick",fn4) // myEvent.removeListener("handleClick",fn1)//移除事件 //事件的触发 myEvent.emit("handleClick","传入的参数") //触发及传传参 myEvent.emit("handleClick",123) /* 作业: 封装 事件模块 addListener ====> on() emit ====> emit() removeListener ===> off() on("事件名称",事件函数) off("事件名称",事件函数) emit('事件名称') */
2、fs 模块介绍
const fs = require("fs"); // fs.readFile("./15.txt",(err,data)=>{ //err是错误会有,data是读取到 1.txt文件的内容 // console.log(data,'1'); // console.log(err,"2"); // }) fs.writeFile("./1.txt",'我是老大',(err,)=>{ }) /* 1、fs.readFile 读取文件 异步 参数1:文件路径 参数2:是成功的回调 回调中参数1是err 参数2是读取到的数据 fs.readFileSync(路径) 返回值是读取到的数据 2、fs.writeFile 写文件 参数1:文件路径 参数2 书写的内容 参数3 成功的回调 */
3、http模块 js
const http = require("http");//引入http模块 let url = "http://www.mobiletrain.org/?pinzhuanbdtg=biaoti"; //服务端发起了一个get请求 http.get(url,(res)=>{ //服务器请求的方式 let str = ""; res.on("data",(data)=>{ // str+=data; }) res.on("end",()=>{ console.log(str); }) }) //一个小爬虫,URL是网站的地址 // 运行方式,在终端中, 属于 node http (就是 node 文件名)
创建服务器的方式
// 导入http模块: var http = require('http'); // 创建http server,并传入回调函数: var server = http.createServer(function (request, response) { // 回调函数接收request和response对象, console.log('有客户端请求了.....'); // 将HTTP响应200写入response, 同时设置Content-Type: text/html: response.writeHead(200, {'Content-Type': 'text/html'}); // 将HTTP响应的HTML内容写入response: response.write('<h1>hello World!</h1>'); response.end(); }); // 让服务器监听8888端口: server.listen(8888); console.log('Server is running at http://127.0.0.1:8888/');
4、 querystring 模块
const qs = require("querystring");//字符串与对象之间的转换 // let query = "name=zhangsan&age=19&sex=nan"; // let query = "name+zhangsan!age+19!sex+nan"; // console.log(qs.parse(query,'&',"=")); // console.log(qs.parse(query,'!',"+")); let data = {name:'zhangsan',age:10} console.log(qs.stringify(data,'#','@')) //将对象data转为字符,对象的冒号用@代替,逗号用#代替,人为设置的'#','@' /* parse参数:(参数1,参数2,参数3) 参数1、需要转换的字符串 参数2、分隔符 参数3、赋值符 stringify参数:(参数1,参数2,参数3) 参数1、需要转换的对象 参数2、分隔符 参数3、赋值符 记忆: 谁,用什么分隔,用什么赋值 */
5、URL 模块
const url = require("url"); //解析url转换成功urlObject let ph = "https://www.baidu.com/s?wd=node&rsv_spt=1&rsv_iqid=0xafc8af260006d918&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=4&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&inputT=750&rsv_sug4=750&rsv_sug=1"; console.log(url.parse(ph,true));
1、路在何方?
路在脚下
2、何去何从?
每个人都在探索,未来的方向在何处。如果说某些方向是世人已经公认的,那么就先按照公认的去走吧(ps:站在巨人的肩膀上看世界会清晰)。
如果说方向,当今世人还不清晰准确。那么就大胆往前走吧,对与错并不重要。心中的方向更加重要。