持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情
一。模块化编程:
1.什么是模块化编程
就是遵守固定的规则,把一个大文件拆成多个独立并互相依赖的小模块
2.优点:
提高代码的复用性
提高代码的可维护性
可以实现按需加载
二。模块化分类:
1:内置模块 ==》 由node.js官方提供,例如 fs,path,http等
①。fs 文件操作,读取指定文件中的内容
fs.readFile(path,[options],callback )
用来读取指定文件中的内容
三个参数:
第一个参数(字符串,文件的路径)
第二个参数(可选参数,表示以什么编码格式来读取文件,一般默认 utf8)
第三个参数(文件读取完成后,通过回调函数拿到读取的结果)
回调函数中传入2个参数 err 失败 dataStream 成功
创建一个txt
创建一个Js
// 导入
let fs=require("fs")
const { arrayBuffer } = require("stream/consumers")
fs.readFile("./fs.txt","utf8",function(err,dataStream){
if(err){
console.log("该路径不存在"+err.meassage)
}else{
console.log("读取成功"+dataStream)
}
})
路径不对,读取失败
// 导入
let fs=require("fs")
fs.readFile("./fss.txt","utf8",function(err,dataStream){
if(err){
console.log("该路径不存在"+err.meassage)
}else{
console.log("读取成功"+dataStream)
}
})
②。fs 文件操作,修改/创建指定文件中的内容
fs.writeFile(file,data,[options],callback)
参数1:需要指定一个文件路径的字符串,也就是文件存放的路径
参数2:写入的内容
参数3:可选 以什么格式写入内容,默认utf8
参数4:文件写入完成后的回调函数
如果输入的文件已存在,则修改其中的内容
// 导入
let fs=require("fs")
fs.writeFile("./fs.txt","今天是晴天","utf8",function(err){
console.log("修改成功"+err)
})
如果输入的文件不存在,则自动创建一个新的文件
// 导入
let fs=require("fs")
fs.writeFile("./fss.txt","今天是晴天","utf8",function(err){
console.log("修改成功"+err)
})
2.http 网格操作(创建web服务器)
①。使用前需要导入 let http = require("http")
②。服务器
ip地址 计算机的地址,唯一的
域名和域名服务器 (网址) 和IP地址是对应的关系
开发测试是,127.0.0.1对应的域名是location,表示自己电脑的
①。导入:let http = require("http")
②。创建:let server = http.createServer()
③。绑定request 事件 ,监听客户端发动的网络请求,server.on("request",function(req,res){ }
④。启动服务器:server.listen( )
创建服务器
// 1.导入
let http=require("http")
// 2.创建服务器
let server=http.createServer()
// 3.绑定 request事件,监听客户端发送的网络请求
// req请求的对象,包含了客户端相关属性和数据
// res响应对象 包含了服务器相关的属性和数据
// res.setHeader("Content-Type","text/html;charset=utf-8")改变中文乱码
server.on("request",function(req,res){
// console.log("这里面试运行服务器的内容")
res.setHeader("Content-Type","text/html;charset=utf-8")
// req.url 客户端请求的地址
// req.method 客户端请求的method的类型 post/get
// res.setHeader()
let urls=req.url
let methods=req.method
let str=`请求的地址是:${urls},请求的类型是${methods}`
console.log(str)
res.end(str)
})
// 4.启动服务器
server.listen(80,()=>{
console.log("这是服务器运行的内容,运行的地址是,开发测试是,127.0.0.1,对应的域 名是location,表示自己电脑的")
})
打开终端,输入node http 复制127.0.0.1浏览器打开
3.path 路径操作
①。使用前需要导入 let path = require("path")
②。__dirname 获取当前文件夹的绝对路径
③。path.join( )将多个路径片段拼接成一个完整的路径字符串
④。path.basename(path,[文件扩展名] )
用来从路径字符串中,将文件名解析出来
参数1:表示一个路径的字符串
参数2:可选参数,文件的扩展名(后缀名),可去除后缀