(二) node.js 常用基础API
2020-06-06 本文已影响0人
can2014ky
一、path 路径
用于处理文件路径和目录路径的模块
const path = require('path');
console.log(path.basename("./src/api/http.js"));
console.log(path.dirname("./src/api/http.js"));
console.log(path.extname("./src/api/http.js"));
console.log(path.format({ dir: "c:/src/api",base: "http.js" }));
console.log(path.parse("c:/src/api/http.js"));
console.log(path.join('/src', 'api/home', 'http.js', '..'));
image.png
二、fs 文件系统
用于与文件系统进行交互的模块
- 写入文件操作
const fs = require('fs');
const path = require("path");
fs.writeFile(
path.join(__dirname, 'message.txt'),
'hello world, welcome to study nodejs!',
(err) => { if(err) {
console.log(new Error(err));
return new Error(err) }
console.log("写入成功!");
}
)
当前目录下新增一个message.txt文件
- 读取文件操作
const fs = require('fs');
const path = require("path");
fs.readFile(path.join(__dirname, 'message.txt'), (err, data) => {
if (err) {
console.log(new Error(err));
return new Error(err);
}
console.log(data);
console.log(data.toString());
})
读取文件buffer并转化成string
- 3.创建与读取、删除目录操作
fs.mkdir(path.join(__dirname, 'parents/child'), { recursive: true }, (err) => {
if (err) {
return new Error(err);
}
console.log('创建成功!');
fs.readdir(__dirname, (err, files) => {
if (err) {
console.log(new Error(err));
return new Error(err);
}
console.log(files);
fs.rmdir(path.join(__dirname, 'parents/child'), (err) => {
if (err) {
console.log(new Error(err));
return new Error(err);
}
console.log('删除成功!');
})
})
})
mkdir & readir
三、http 服务
提供使用HTTP服务器和客户端的API
1、搭建静态服务器
1.1) 根据不同请求,响应不同内容
// 1. 加载模块
const http = require('http');
// 2. 创建服务
const server = http.createServer();
// 3. 监听请求事件(事件驱动)
server.on('request', (req, res) => {
res.setHeader('Content-Type', 'text/html; charset=utf-8');
res.write(`<h1>Hello World!!!</h1><h1>你好,世界!!!</h1>`);
res.end();
})
// 4. 监听端口,开启服务
server.listen(8081, () => {
console.log('http://localhost:8081');
})
image.png
1.2) 根据不同请求,响应不同文件
const http = require("http");
const fs = require('fs');
const path = require('path');
http.createServer(function(req, res) {
res.setHeader("Content-Type", "text/html; charset=utf-8");
if (req.url === "/" || req.url === "/index") {
fs.readFile(path.join(__dirname, "pages", "index.html"), function (err, data) {
if (err) {
console.log(new Error(err));
return new Error(err);
}
res.end(data);
});
} else if (req.url === "/login") {
fs.readFile(path.join(__dirname, "pages", "login.html"), function (err, data) {
if (err) {
console.log(new Error(err));
return new Error(err);
}
res.end(data);
});
} else {
fs.readFile(path.join(__dirname, "pages", "404.html"), function (err, data) {
if (err) {
console.log(new Error(err));
return new Error(err);
}
res.end(data);
});
}
}).listen(8081, () => {
console.log("http://localhost:8081");
});