fs模块-读写文件
模块:类似插件,封装了方法/属性
fs模块:封装了与本机文件系统进行交互的,方法/属性
语法:
1)加载fs模块对象
const fs=require('fs')//fs 是模块标识符:模块的名字
2)写入文件内容(没有文件,会创建一个文件,并不会自动创建文件夹)
fs.writeFile('文件路径','写入内容',err=>{
//写入后的回调函数
})
3)读取文件内容
fs.readFile('文件路径',(err,data) => {
//读取后的回调函数
//data是文件内容的Buffer数据流,是内容在计算机中存储的二进制对应十六进制的数据
console.log(data.toString())//把Buffer数据流转化成字符串输出
})
err是错误信息
path模块-路径处理
问题:Node.js代码中,相对路径是根据终端所在路径来查找的,可能无法找到你想要的文件
建议:在Node.js代码中,使用绝对路径
补充:__dirname为内置变量(获取当前模块目录-绝对路径)
windows使用\来分隔;mac使用/来分隔
注意:path.join()会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
语法:
1)加载path模块
const path=require('path')
2)使用path.join方法,拼接路径
path.join('路径1','路径2',...)
http模块-创建Web服务
Web服务程序:提供网上信息浏览的程序代码
步骤:
1.加载http模块,创建Web服务对象
const http = require('http')
const server = http.createServer()
2.监听request请求事件,设置响应头和响应体
server.on('request',(req,res)=>{
//设置响应头-内容类型-普通文本以及中文编码格式
res.setHeader('Content-Type','text/plain;charset=utf-8')
//设置响应体内容,结束本次请求与响应
res.end('欢迎使用Node.js和http模块创建的Web服务')
})
请求html文件响应头设置为res.setHeader('Content-Type','text/html;charset=utf-8')
3.配置端口号并打开终端启动Web服务
server.listen(3000,()=>{
console.log('Web服务启动成功了')
})
4.浏览器请求http://localhost:3000测试(localhost:固定代表本机的域名)