Nodejs(内置模块)

170 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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)
}
})

QQ截图20220609142501.png

路径不对,读取失败

  // 导入
let fs=require("fs")
 fs.readFile("./fss.txt","utf8",function(err,dataStream){
if(err){
    console.log("该路径不存在"+err.meassage)
}else{
    console.log("读取成功"+dataStream)
}
  })
  
  

QQ截图20220609142439.png

②。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)
    })

QQ截图20220609144421.png 如果输入的文件不存在,则自动创建一个新的文件

    // 导入
   let fs=require("fs")
 fs.writeFile("./fss.txt","今天是晴天","utf8",function(err){
  console.log("修改成功"+err)
  })

QQ截图20220609144503.png

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浏览器打开 QQ截图20220609152452.png

3.path 路径操作

①。使用前需要导入 let path = require("path")

②。__dirname 获取当前文件夹的绝对路径

③。path.join( )将多个路径片段拼接成一个完整的路径字符串

④。path.basename(path,[文件扩展名] )

 用来从路径字符串中,将文件名解析出来

 参数1:表示一个路径的字符串
 参数2:可选参数,文件的扩展名(后缀名),可去除后缀

QQ截图20220609155256.png

QQ截图20220609155919.png

QQ截图20220609160107.png