1.模块
__dirname 获取当前模块的绝对路径
__filename 获取当前模块的绝对路径+模块名称
2.模块分类
分为自定义模块、核心模块、第三方模块
以路径开头 | 不以路径开头 | |
文件模块 | require('./circle.js') 用于引入自定义模块 | require('querystring') 用于引入官方提供核心模块 |
目录模块 | require('./02_tao') 首先会到目录下寻找package.json文件中main对应文件,如果没有的话会自动寻找index.js | require('tao') 首先会到当前目录下的node_modules目录中寻找tao目录模块,如果当前找不到会一直往上一级的node_modules目录中寻找 用于引入第三方模块 |
3.包和npm
CommonJS:是一种规范,制定了Node.js的模块规范
包:指的第三方模块,是目录模块的形式
npm:是一个第三方模块,用来管理包的工具模块,在Node.js安装的时候会附带安装
npm -v 查看版本号
网址:www.npmjs.com
(1)切换命令行的路径
cd 文件的路径 回车
如果有盘符的变化,再添加
盘符名称: 回车
在要进入的目录下的空白区域,按住shift,单击鼠标右键,选择“在此处打开powershell窗口”
(2)使用npm
npm init -y 初始化一个package.json文件,用于描述项目,记录下载的包
npm install 包的名称 下载安装指定的包,将下载的包放入到node_modules目录,在package.json中记录下载的这个包,同时生成package-lock.json文件,用于记录所有的包的版本号
npm install 自动去下载安装package.json和package-lock.json中记录的包
其它npm命令: www.npmjs.cn
4.查询字符串
浏览器向服务器发请求,传递数据的一种方式,位于网址中问号(?)后的部分
kw=笔记本&price=5000
查询字符串模块:用于操作查询字符串的工具
parse() 将查询字符串解析为对象
练习:获取查询字符串中的用户名和密码
user=admin&password=123456
最后打印以下格式 ‘登录成功,欢迎:xxx ,当前密码:xxx’
const gh=require('querystring');
var str='user=admin&password=123456';
var str1=gh.parse(str);
console.log(str1)
console.log(`登录成功,欢迎:${str1.user}, 当前密码: ${str1.password}`)
5.URL
统一资源定位,互联网上的任何资源(html,css,js,图像,视频...)都有对应的URL
http://www.cadebey.com:2355/products.html?kw=华硕
协议 域名/IP地址 端口 文件在服务器的路径 查询字符串
URL模块用来处理URL的工具,
new URL() 将一个URL解析为对象,获取URL中的各个部分
6.定时器模块
提供一组全局函数
(1)一次性定时器
开启 var timer=setTimeout(回调函数, 间隔时间); 当间隔时间到了,会调用一次回调函数 |
清除 clearTimeout(timer) |
(2)周期性定时器
开启 var timer=setInterval(回调函数, 间隔时间); 每隔一段时间,会调用一次回调函数 |
清除 clearInterval(timer) |
(3)立即执行的定时器
开启 var timer=setImmediate(回调函数) 清除 clearImmediate(timer) |
开启 process.nextTick(回调函数) 一旦开启无法清除 |
会将回调函数放入到事件队列,当主程序执行完再去执行事件队列