HTTP模块
HTTP
模块的作用是创建一个服务器,HTTP
是Node的内置模块,不用在单独下载
使用requier
指令来导入http模块,将实例化的HTTP
赋值给http
const http = require("http");
使用http
模块的createServer()
方法创建服务器,使用listen
方法绑定端口号,listen
方法接收两个个参数,第一个参数要绑定的端口号,第二个参数服务启动成功后执行的回调函数createServer(
)方法有两个参数,request
, response
分别表示接收数据和响应数据,基本结构如以下代码
const http = require("http");
const server = http.createServer((request, response) => {
response.end("hello");
});
server.listen(3000, () => {
console.log("服务器启动成功 请访问 http://localhost:3000/");
});
response.end("hello")
向页面响应数据,访问http://localhost:3000/就可以看到响应的数据
如果响应的数据为中文,则会出现乱码
出现乱码的原因是头部编码,在响应前设置编码头信息就可以解决
response.setHeader("content-type", "text/html;charset=utf-8");
FS模块
FS
模块的作用是用来读写文件,对文件进行交互的模块
通过required
来引入模块
const fs = require("fs");
FS
模块中有两种才操作形式:同步和异步
- 同步:会阻塞程序的进行,等文件全部读取完毕才会向下执行代码
- 异步:不会阻塞程序的进行,在读取文件的时候,可以进行其他的操作
读取文件
同步操作
fs.readFileSync
方法是同步来读取文件,首先创建一个txt文件,随便写点内容
然后通过fs.readFileSync
来读取文件,并响应到页面中
const http = require("http");
const fs = require("fs");
const server = http.createServer((request, response) => {
let res = fs.readFileSync("./1.txt");
response.end(res);
});
server.listen(3000, () => {
console.log("服务器启动成功 请访问 http://localhost:3000/");
})