Node.js的系统模块

159 阅读2分钟

1.fs-系统模块

系统模块fs 文件操作(f:file 文件 ,s:system 系统,文件操作系统 )

 //通过模块的名字fs对模块进行引用
 const fs = require('fs');

readFile 读取文件

 //fs.readFile(文件路径,文件编码,callback(err.doc))
 fs.readFile('./01.helloworld.js', 'utf8', (err, doc) => {
     // 如果文件读取出错err 是一个对象 包含错误信息
     // 如果文件读取正确 err是 null
     // doc 是文件读取的结果
     console.log(err);
     console.log(doc);
 });

writeFile写入内容

 fs.writeFile('./demo.txt', '即将要写入的内容', err => {
     if (err != null) {
         console.log(err);
         return;
     }
     console.log('文件内容写入成功');
 });

2.path-系统模块-get参数

不同操作系统路径分隔符不统一,

 const path = require('path');
 //path.join('路径','路径','路径');
 //_ _ dirname 绝对路径
 ​
 // 1) 要解析的url地址
 // 2) 将查询参数解析成对象形式
 let { query, pathname } = url.parse(req.url, true);
 console.log(query.name);
 console.log(query.age);
 //query 获取到对象格式的数据 {}
 //pathname 不含查询字符串的路径部分 eg: /index

3.queryString-系统模块-post参数

处理POST请求

参数被放在请求体中,格式与get参数不同

 const querystring = require('querystring');
 //字符串:post接收参数时不会同时接收所有参数,接收到的参数是拼接组合成的
 querystring.parse(字符串)  //{username:'xiaoming',password:'123456'}

4.http-系统模块

创建网站服务器

 //引入系统模块http
 const http = require('http');
 // 创建网站服务器  --- xx对象就是网站服务器对象
 const xx = http.createServer();

5.url-系统模块

处理url地址 -- GET请求

参数被放在浏览器地址栏中

 const url = require('url');
 url.parse(req.url,true).query //以对象格式获取数据
 query //不含?的完整参数
 pathname  //不含查询字符串的路径部分
 let{query,pathname} = url.parse(req.url,true);//解构

6.promisify-系统模块

改造函数-改造Node中现有的异步API,让其返回promise对象,从而支持异步语法

 const promisify = require('util').promisify;
 //将读取文件改为异步
 eg:const readFile = promisify (fs.readFile);