Nodejs模块

    Node.js自动为每个文件添加了一个构造函数

(function (exports,require,module,__filename,__dirname){

   //程序员写的代码

} )

exports——导出的对象

require()——是一个函数,用于引入其他的模块

module——当前的模块对象

module.exports——导出的对象,和exports两者指向同一个对象;这个是真正的导出对象

__filename——当前模块的绝对路径和模块名称

__dirname——当前模块的绝对路径

1. 模块分类

模块分为自定义模块、核心模块、第三方模块。

引入模块方法:

         文件模块                                目录模块
以路径开头

require('./circle.js')

常用于引入自定义模块

require('./02_ran')

会到目录下寻找package.json中main属性对应的文件,如果找不到则引入index.js

不以路径开头 require('querystring')  常用于引入官方提供的核心模块

require('./04_2')  会到当前目录下的node_modules中寻找,如果找不到会一直往

上一级寻找,知道顶级盘符目录,常用于引入第三方模块

2. 查询字符串模块——querystring

  查询字符串是浏览器向web服务器请求传递数据的一种方式,位于URL中。查询字符串模块是用于处理和解析查询字符串的。

       parse()——将查询字符串解析为对象

  例:获取以下查询字符串中的数据wd=china&place=beijing

//引入查询字符串模块(安装node.js后就会存在)
const querystring=require('querystring');
//查询字符串
let str='wd=china&place=beijing';
//使用查询字符串模块解析为对象
let obj=querystring.parse(str);
console.log(obj.wd,obj.place);

3. URL模块

  URL: 统一资源定位

 http://www.codeboy.com:9999/admin/login.html?uname=root

  协议      域名/IP地址         端口号    文件的路径         查询字符串

parse()——将URL解析为对象,得到各个部分

//引入核心模块URL
const url=require('url');
let str='http://www.codeboy.com:9999/admin/login.html?uname=root';
//解析URL为对象
let obj=url.parse(str);
console.log(obj);

结果为:

 

 4. 定时器模块

    (1)一次性定时器

let timer=setTimeout(回调函数,间隔时间);//开启

当间隔时间到了,会执行1次回调函数;单位是毫秒

clearTimeout(timer);  //清除   

  (2)周期性定时器

let timer=setInterval(回调函数,间隔时间); //开启

每隔一段时间,执行一次;

clearInterval(timer);   //清除

  (3)立即执行定时器

let timer=setlmmediate(回调函数);

把回调函数放在事件队列的最前面执行,当主程序执行完就会执行事件队列中的回调函数

clearImmediate(timer);

 process.nextTick(回调函数)

把回调函数放在事件队列之前,主程序的后边执行

 事件队列:用于放置一组回调函数,当主程序执行完以后,排队执行。
posted @ 2020-04-23 20:22  L小洁  阅读(234)  评论(0编辑  收藏  举报