02_NodeJs模块

1.模块

 require()  引入模块,得到导出的对象

 module.exports   当前模块导出的对象

 __dirname   当前模块的绝对目录

 __filename  当前模块的绝对目录+模块名称

2.模块分类

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

 

以路径开头

不以路径开头

文件形式

require('./circle.js')

用于引入自定义模块

require('querystring')

引入官方提供的核心模块

目录形式

require('./02_tao')

首先会到目录下寻找package.json文件中main属性对应的文件,如果找不到会自动找index.js

require('tao')

会到同一级的node_modules目录中寻找tao目录,如果找不到会一直往上一级的node_modules目录中寻找

用于引入第三方模块

 练习:在03_1.js中引入同一级的目录模块03_2,目录下含有文件index.js,导出一个函数,传递任意两个数字返回最大值;最后再03_1.js中调用该函数

3.包和npm

 包(package),指的是第三方模块

 npm,用于管理包的工具模块,可以用于下载、上传、卸载、更新...

 CommonJS规范:Node.js就是遵循这个规范,出现的模块概念。JS之所以作为服务器端语言,就是遵循这个规范。

 下载地址:www.npmjs.com

 (1)切换命令行的目录

  方法1:

  cd  粘贴目录的路径    回车

     如果有盘符的变化,需要添加     盘符名称:   回车

  方法2:

  在要进入的目录下的空白区域,按住shift,单击鼠标右键,选择‘打开powershell窗口

 (2)使用npm

  在Node.js安装的时候会附带安装

  npm  -v   查看版本号

  npm  init  -y    初始化一个package.json文件,是项目描述文件,可以记录下安装的包

  npm  install  包的名称    下载安装包,将包放入到node_modules目录中,如果这个目录不存在会自动创建,同时会生成package-lock.json文件,记录所有包的版本号;在package.json中会记录安装的这个包的信息。

  npm  install     自动去安装package.json和package-lock.json中记录的包

  npx  -p  node@8   node  文件路径    下载指定版本的nodejs,然后运行文件,运行完会将下载的nodejs删除

4.querystring模块

 查询字符串:浏览器向服务器发请求传递数据的一种方式,位于浏览器的地址栏(URL),以问号(?)为分隔

 https://search.jd.com/Search?keyword=电脑&enc=utf-8

 查询字符串模块用于操作查询字符串的工具模块

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

 练习:获取以下查询字符串中传递的数据

   lid=5&num=1

5.URL模块

 URL:统一资源定位,互联网上的任何资源都有对应的URL

 http://www.codeboy.com:9999/product_details.html?lid=5

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

 URL模块用于操作URL的工具模块

 parse()   解析一个URL为对象,可以获取URL中的各个部分

 练习:获取以下URL中传递的查询字符串数据

  https://www.tmooc.cn:443/web/course.html?cid=2104&cname=nodejs

 打印出   班级编号:2104

          课程名称:nodejs

6.timer模块

 定时器模块,提供一组全局函数

 (1)一次性定时器

   见day01笔记

 (2)周期性定时器

开启

let timer = setInterval(回调函数,间隔时间)

每隔一段时间,调用一次回调函数

清除

clearInterval(timer)

 练习:使用周期性定时器每隔2秒钟打印hello,打印3次后结束。

 (3)立即执行定时器

开启

let timer=setImmediate(回调函数)

清除

clearImmediate(timer)

开启

process.nextTick(回调函数)

  setImmediate在事件队列的最前边,process.nextTick在主程序的后边,时间对列的前边

7.文件系统模块(fs)

 服务器端的文件包含目录形式和文件形式

 fs.statSync(文件路径)  查看文件的状态

    isDirecotry() 是否为目录   

    isFile()  是否为文件

 fs.mkdirSync(目录的路径)  创建目录

 fs.rmdirSync(目录的路径)   删除目录

 

课后任务

(1)复习今天内容,整理思维导图

(2)练习:开启一次性定时器,3秒以后创建1~10,10个目录;15秒以后再把这10个目录删除。

(3)预习nodejs第3天  同步和异步

//!开启一次性定时器,3秒以后创建1~10,10个目录;15秒以后再把这10个目录删除。
let fs = require('fs');
setTimeout(()=>{
    var i =1;
    while(i<=10){
        fs.mkdirSync(`./${i}`);
        i++;
    }
setTimeout(()=>{
    var j =1;
    while(j<=10){
    fs.rmdirSync(`./${j}`);
    j++;
    }
},15000);
},3000);

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值