- 模块系统
require() 引入其它的模块,得到模块暴露的对象
module.exports 当前模块暴露的对象,默认是一个空对象,如果要暴露哪些内容,需要添加到这个对象下
练习:创建两个文件02_1.js 和02_2.js 在02_1.js下创建一个函数,传递半径计算圆周长,创建一个函数。传递半径计算圆的面积,在02_2.js 下引入02_1.js,调用两个函数
- 模块分类
分为自定义模块、核心模块、第三方模块
以路径开头 | 不以路径开头 | |
文件模块 | require('./circle.js') 用于引入自定义模块 (.js后缀可省略) | |
目录模块 | require('./03_tao') 回到目录下寻找package.json中main属性对应的文件,如果找不到会去查找index.js { "main":"web.js" } | require('tao') 会到当前的目录下的node_modules目录中寻找tao模块,如果找不到会一直往上一级的node_modules目录寻找;常用于引入第三方模块 |
json文件,是一种存数据的文件,只能放数组或者对象;对象的属性名必须用双引号,值是字符串必须用双引号
{ "a"':"tao" }
练习:在04_1.js下引入一个目录模块04_2,目录下包含一个文件index.js,文件中创建函数,传递任意两个数字返回平均值,然后暴露出去;最后在04_1.js下调用暴露的函数。
- 包和npm
CommonJS:是一套模范化的规范,引入模块和暴露对象都是基于这个规范,Node.js就是使用的这套模块化规范
包:package,指的是第三方模块
npm:用来管理包的工具,例如:下载、上传、升级、卸载.....
在Node.js安装的时候就已经附带安装了 npm -v
http://www.npmjs.com/
https://www.npmjs.cn/ -----中文版
- npm命令
npm init 一直回车, 用于创建package.json文件,作为项目描述文件
npm install 模块名称 下载安装指定的模块,会将模块下载在
node_modules 目录下,如果目录不存在会自动创建。会下载其他依赖的包。生成一个文件package-lock.json,用于记录所有包的信息
npm intall 会自动的去下载package-lock.json和package.json中记录的包
node.js中文文档:www.nodejs.cn
- 核心模块------查询字符串模块(querystring)
查询字符串:浏览器端向服务器端传递参数的一种形式,位于网址中
查询字符串模块:是Node.js下专门操作查询字符串的工具,可以获取传递的参数
parse() 将查询字符串转为对象,可以获取传递的值
练习:获取以下查询字符串的值 'user=tao&pwd=123456',最后打印以下格式
登陆成功!用户名:xxx 密码:xxx
- 网址模块(URL)
网址(URL):统一资源定位,互联网上的任何资源都有对应的网址;最终通过网址获取服务器端的资源
new URL(网址) 将一个网址转你为对象,目的获取各个部分 |