Node使用模块的原因
- 可以提高代码的利用率,可读性,减少程序的代码量
- 可以实现代码的共享
- 根据实际开发的需求对外暴露模块的属性和方法
Node中模块的使用(CommonJS标准)
- 使用moduel.exports导出模块:让模块对外暴露
- 使用者可以通过require(模块名)将模块导入到当前的程序中使用
- 使用exports导出模块中的部分的属性
exports.sayHello=function(name){
console.log('你好'+name);
console.log('今天是'+show_day[day-1]);
}
核心模块
-
os 模块:包括了操作系统的详细信息 -
util 模块:实用工具模块,提供的功能帮助用户简化开发 -
path 模块:用于解决多平台目录路径问题
- 属性:
path.delimiter path.sep - 方法:
-
url 模块:
- 先导入url模块,然后通过parse方法实现对地址的解析:
const url = require('url');
const myUrl = url.parse('http://localhost:8080/index.html?username=张三&password=123456');
- 先导入url模块中的URL类,将地址字符串作为参数传递给URL类的构造函数对地址进行解析
const{URL}=require('url');
constmyurl=newURL('http://localhost:8080/index.html?username=张三&password=123456');
- 解析url地址中查询字符串:URLSearchParams类的使用
先导入:const{URL,URLSearchParams}=require('url'); 调用方法:get方法获取值 URL类的属性之一是:searchParams searchParams 是URLSearchParams 类的对象,在该类中定义方法get(),用来获取查询字符串中的参数 -
querystring 模块:对URL查询字符串进行处理和解析
parse 方法:将URL查询字符串解析成键值对集合stringify 方法:将对象(键值对)转换成URL的查询字符串,实际上就是parse方法的逆操作
npm包管理器
npm(Node Package Manager)包管理器 升级npm:npm install npm -g :-g是安装参数,表示全局安装 安装包:
- 安装本地包:
npm install 包名 确定安装包版本(安装指定版本的包):npm install 包名@版本号 安装全局的包:npm install -g 包名
查看安装信息:npm list -->查看当前目录下安装的包 查看全局安装的包:npm list -g 包名 package.json文件的功能:
-
列出当前项目所依赖的包 -
指定当前项目所使用的包的版本 -
实现可重用的构建,更易于其他开发人员共享包 创建默认的package.json npm init --yes
包的使用环境 安装在开发与测试环境下使用的包(会在package.json文件中加入"devDependencies"节点)
npm install 包名 --save-dev
安装在生产环境中使用的包(会在package.json文件中加入"dependencies"节点)
npm install 包名
包的更新(升级) npm update 包名 -->升级当前目录下指定的包 npm update -g 包名 -->升级全局的包 包的卸载 npm unistall 包名 -->卸载"dependencies"节点下的包(生产环境) npm unistall 包名 --save-dev -->卸载"devDependencies"节点下的包(开发与测试环境) npm unistall -g 包名 -->卸载全局的包 清空npm的本地缓存 npm cache clean 发布自己的包 在npm服务器上注册用户,使用npm publish发布。 安装淘宝的npm镜像服务器
npm install -g cnpm --registry=https://registry.npm.taobao.org
在安装包时,使用cnpm代替npm
Node的文件系统
fs模块
fs模块:提供了文件操作的API
fs模块共有5个类:
- fs.Dirent类:(指示文件的类型)
- fs.FSWatcher类:(监视文件)
- fs.ReadStream类:读取流(文件输入流)
- fs.WriteStream类:写入流(文件输出流)
- fs.Stats类:文件的信息(文件的状态)
fs模块中方法的分类:
- 同步方法:方法名带有Sync后缀
- 异步方法:方法名不带Sync后缀,最后一个参数是回调函数
fs模块的常量(FS常量)
Node中文件路径的表示方式:
-
字符串方式:
- windows下路径分隔符为: \
- Linux下路径分隔符为:/
-
Buffer方式:Buffer.from(字符串) --> 主要用于linux系统 -
URL方式:在Node7.6.0以上版本使用,支持file协议。在不同的操作系统下,解析出来的路径会有区别。 const fileurl = new URL('file:///temp/hello.txt')
文件模式(文件访问权限):
- a:以追加的方式打开文件,若文件不能再则创建
- a+:以读取追加的方式打开文件,若文件不能再则创建
- r:以只读的方式打开文件,若文件不存在则抛出异常
- r+:以读取和写入的方式打开文件,若文件不存在则抛出异常
- w:以写入的方式打开文件,若文件不存在则创建
- w+:以读取和写入的方式打开文件,若文件不存在则创建
文件与目录的基本操作
- 文件的打开
- 同步打开:
fs.openSync; - 异步打开:
- 获取文件的信息fs.Stats
stats.isDirector([path]) :判断是否为目录stats.isDirector([path]) :判断是否是文件 - 用异步的方式读取文件中指定的数据
- 创建目录:
fs.mkdir(path,callback) - 删除目录:
fs.rmdir(path,callback) - 删除文件:
fs.unlink(path,callback)
|