zoukankan      html  css  js  c++  java
  • 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(回调函数)

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

     事件队列:用于放置一组回调函数,当主程序执行完以后,排队执行。
    那些看似不起波澜的日复一日,会突然在某一天让人看到坚持的意义。
  • 相关阅读:
    整数数组中最大子数组的和有溢出如何处理
    返回一个整数数组(环形数组)中最大子数组的和
    cnblogs用户体验评价
    SCRUM报告(一)
    Spring冲刺计划会议
    Spring冲刺计划会议
    团队合作项目----冲刺目标确定
    结队开发
    组队开发----卖书问题
    团队开发---NABC分析
  • 原文地址:https://www.cnblogs.com/Dcode/p/12763294.html
Copyright © 2011-2022 走看看