Node.js学起来跟js还是多少有点不一样的,毕竟后端的知识在大多数程序猿眼中学起来都是看不见摸不着,不想js那样代码写出来你就可以看到效果,所以学起来相对要那么复杂一丢丢,但这也不能说不好学就含含糊糊过去了,尽管是自学,所以更需要拿出二倍的注意力来放在这上面,NL!
一.模块系统
__dirname 当前模块的绝对路径
__filename 当前模块的绝对路径+模块名称
1.模块的分类
分为自定义模块、核心模块、第三方模块
以路径开头 | 不以路径开头 | |
---|---|---|
文件形式 | require('./circle.js')用于引入自定义模块 | |
目录形式 | require('./02_tao')首先会到目录下寻找package.json中main对应的文件,如果找不到会自动查找index.js | require('mysql')首先会到当前目录的node_modules目录中寻找,如果找不到会一直往上一级的node_modules目录中寻找;用于引入第三方模块 |
2.包和npm
包(package):指的是第三方模块,需要下载安装才能使用
npm:用于管理包的工具,例如:下载安装、上传、更新、卸载...
pm在Node.js安装的时候会附带安装
CommonJS:是一套模块化规范,Node.js的引入,暴露都会基于这个模块规范。
下载网址:www.npmjs.com
3.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
二.查询字符串模块(querystring)
查询字符串:是客户端向服务器端传递参数的一种方式,每一组传递的值分为参数名和参数值两部分
参数名1=参数值1&参数名2=参数值2
keyword=耳机&enc=utf-8
查询字符串模块用于操作查询字符串的工具
parse() 将查询字符串转为对象,获取传递的值
三.URL模块
URL:统一资源定位(网址),互联网上的任何资源都对应的URL,用来访问该资源。
www.codeboy.com:9999/1.html?lid=…
协议 域名/IP地址 端口 资源的路径 查询字符串 锚点链接
new URL(网址) 将一个网址转为对象,为了获取各个部分
var str='www.codeboy.com:9999/1.html?a=1&… obj=new URL(str); //转换为对象console.log(obj.searchParams); //获取查询字符串部分console.log(obj.searchParams.get('a'));//获取传递参数 |
---|
四.定时器模块(timer)
1.一次性定时器
开启var timer=setTimeout(回调函数, 间隔时间)当间隔时间到了,调用一次回调函数 |
---|
清除clearTimeout(timer); |
2.周期性定时器
开启var timer=setInterval(回调函数, 间隔时间);每隔一段时间,调用一次回调函数 |
---|
清除clearInterval(timer) |