风华正茂、时光流逝、真爱时光、努力创建辉煌。

【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));

 

posted @ 2019-08-19 10:11  野马,程序源改造新Bug  阅读(177)  评论(0编辑  收藏  举报