一.fs模块(读写文件)
在文件夹中新建一个01.js文件引入fs模块,读取写好的另一个文件(假设一个文本文件text.txt)
在01.js文件下编码:
//加载fs模块对象
const fs = require('fs')
//调用fs内置方法writeFile向文件里写 三个参数:('写入的文件路径','写入的内容',回调函数成功与否)
fs.writeFile('./text.txt','Hello Nodejs',(err)=>{
if(err) console.log(err)
else console.log('写入成功')
})
//调用fs读方法读取写入的文件: 两个参数('路径',(err错误,读到的data数据)=>{})
fs.readFile('./text.txt',(err,data)=>{
if(err) console.log(err)
else console.log(data)
})
二.path模块-路径处理
__dirname 内置变量(获取当前模块目录-绝对路径)
在这些文件处理问题上最好用绝对路不容易出错,绝对路径就得靠__dirname
path.join()会使用特定于平台的分隔符,作为定界符,将所有给定的路径片段连接在一起
不管是在window系统还是mac系统都会自动适应路径的写法
还以上面的读文件为例:
const fs = require('fs')
// 1.引入 path 模块对象
const path = require('path')
//2.调用 path.join()配合__dirname 组成目标文件的绝对路径 ../(两个点来到父级文件再找绝对路径)
fs.readFile(path.join(__dirname,'../test.txt'),(err, data)=>{
if(err)console.log(err)
else console.log(data.tostring())
//读的时候结果需要tostring()一下,因为读到的结果为Buffer数据流,也就是16进制,需要转换成字符串
)}
三.http模块
用http模块创建一个web服务:
//加载 http 模块,创建 Web 服务对象
const http = require('http')
const server = http.createServer()
//监听 request 请求事件,设置响应头和响应体
server.on('request',(req,res)=>{
//设置响应头-内容类型-普通文本以及中文编码格式
res.setHeader('Content-Type','text/plain;charset=utf-8')
//设置响应体内容,结束本次请求与响应
res.end('欢迎使用 Node.js 和 http 模块创建的 Web 服务')
)}
// 配置端口号并启动 web 服务
server.listen(3000,()=>{
console.log('web 服务启动成功了')
)}
用node命令运行这个文件(node 01.js)
显示启动成功后可以去浏览器上输入该服务地址:http://localhost:3000
就可以看到这个文件写好的这句话 ''欢迎使用 Node.js 和 http 模块创建的 Web 服务''