前言
Nodejs内置模块学习笔记
fs文件系统模块
- 在使用相对路径时,可能会遇动态拼接错误问题
- 原理:在使用相对路径时,会将当前路径与相对路径进行拼接组成绝对路径,再通过绝对路径读写文件
- 动态拼接错误:如果当前所在的路径与代码所在路径不在相同目录下,动态拼接的绝对路径会有误
引入模块
1
| const fs = require("fs");
|
读取文件内容
- 如果读取成功,则err为null,dataStr为读取文件内容
- 如果读取失败,则err为错误对象,dataStr为undefined
<file>
:读取文件的文件路径
utf-8
:指定字符编码
1 2 3 4 5 6
| fs.readFile("<file>", "utf-8", function (err, dataStr) { if (err) { return console.log(err.message); } console.log(dataStr); });
|
写入文件内容
- 如果写入的文件名已存在,则覆盖原文件
- 写入文件时,只能创建文件,不能创建目录,如果目录不存在则会报错
<file>
:写入文件的文件路径
<text>
:写入的内容
utf-8
:指定字符编码,可以省略,缺省值是utf-8
1 2 3 4 5
| fs.writeFile("<file>", "<text>", "utf-8", function (err) { if (err) { return console.log(err.message); } });
|
path路径模块
引入模块
1
| const path = require("path");
|
拼接多个路径
- 虽然
+
也可以实现路径的拼接,但是不能自动优化相对路径中的./
和../
__dirname
:当前js文件所在的目录
1
| path.join(__dirname, "./", "../", ...);
|
解析路径中的文件名(包含后缀名)
<path>
:文件路径
1
| path.basename("<path>");
|
解析路径中的文件名(不包含后缀名)
.<extname>
:文件后缀名
1
| path.basename("<path>", ".<extname>");
|
解析路径中的文件后缀名
http模块
创建web服务器
80
:指定端口号
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const http = require("http");
const server = http.createServer();
server.on("request", function(req, resp) { ... });
server.listen(80, function() { ... });
|
请求对象
获取请求的资源路径
获取请求方式
响应对象
返回响应
<str>
:响应给客户端的数据
设置响应头
<key>
:响应头键
<value>
:响应头值
1
| resp.setHeader("<key>", "<value>");
|
解决响应数据的中文乱码
1
| resp.setHeader("Content-Type", "text/html; charset=utf-8");
|
完成
参考文献
哔哩哔哩——黑马程序员