一、什么是node.js
Node.js是JavaScript语言的服务器运行环境。
- Node.js 就是运行在服务端的 JavaScript。
- Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。
- Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
- 特点:单线程和非阻塞I/O事件驱动
- 安装了nodejs,会自带一些内置的模块
二、http模块使用
1、引入http模块
const http=require("http");
2、创建服务器
接下来我们使用http.creatServer()方法创建服务器,并使用listen方法绑定端口 函数通过request,response参数来接收和响应数据
//由于安装了nodejs,nodejs会自带一些内置的模块
//导入http模块
//require() 看做import,再看做script的src
var http=require("http");
//创建服务
//req响应报文
//res请求报文
http.createServer(function(req,res){
res.writeHead(200,{"Content-Type":"application/json;Charset=utf-8"});
res.end("哈哈哈哈你好");
})
//配置监听的窗口
http.listen(8082,function(){
console.log("服务器启动完毕")
})
三、fs模块的使用
fs.readFile()的语法格式
fs.readFile(path[,options],callback)
参数1:必选参数,字符串,表示文件的路径
参数2:可选参数,表示什么编码格式来去读文件
参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果
const fs=require('fs')
fs.readFile('./files/1.txt','utf8',function(err,dataStr){
if(err){
return console.log('读取文件失败!'+err.message)
}
console.log('读取文件成功!'+dataStr)
})
fs.writeFile()的语法格式
fs.writeFile(file,data[,options],callback)
- 参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
- 参数2:必选参数,表示要写入的内容
- 参数3:可选参数,表示已什么格式写入文件内容,默认值是utf8
- 参数4:必选参数,文件写入完成后的回调函数
// 导入fs文件系统模块
const fs=require('fs')
// 调用fs.writeFile()方法,写入文件的内容
fs.writeFile('./files/2.txt','abcd',function(err){
// 如果文件写入成功,则err的值等于null
// 如果文件写入失败,则err的值等于一个错误对象
console.log(err)
})
注意: fs.writeFile()方法只能用来创建文件,不用用来创建路径
重复调用fs.writeFile()写入同一个文件,新写入的内容会覆盖之前的旧内容
fs模块路径动态拼接的问题
在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径动态拼接错误的问题。原因:代码在运行的时候,会以执行node命令时所出的目录,动态拼接出被操作文件的完整路径。
解决方案:在使用fs模块操作文件时,直接提供完整的路径,不要提供./或../开头的相对路径,从而仿真路径动态拼接的问题。__dirname表示当前文件所处的目录
fs.mkdir() 创建文件夹
fs.mkdir("./aaa",function(err){
if(err){
console.log("创建失败");
return
}
console.log("创建成功");
})
fs.unlink() 删除文件
fs.unlink("aaa.txt",function(err){
if(err){
console.log("删除失败");
return
}
console.log("删除成功");
})