0
点赞
收藏
分享

微信扫一扫

Node.js——path路径,http,npm与包,模块化,express

唯米天空 2022-03-11 阅读 56
javascript

Node.js知识点

一、fs(文件系统)

(1) 读取指定文件内容

fs.readFile(path[,option],callback
  • 参数1:字符串,表示文件的路径
  • 参数2,表示以什么编码格式读取文件
  • 参数3:读取完成后,通过会点函数读取结果

(2) 向指定的文件中写入内容

fs.writeFile(file,data[,options],callback)
  • 参数1:指文件路径的字符串,表示文件的存放路径
  • 参数2:表示要写入的内容
  • 参数3:表示写入内容的格式,默认值是utf8

二、path(路径)

(1)path.join()

用来将多个路径片段拼接成一个完整的路径的字符串

(2)path.basename()

可以从一个文件路径中获取文件的名称

(3)path.extname()

可以获取文件的扩展名

const fpath='a/b/c/index.html' //文件的路径

const fext=path.extname(fpath)
console.log(fext)  //输出.html

三、http(服务器)

(1) 创建基本的web服务器

  • 启动服务器
  • req请求对象
  • res响应对象

(2)根据不同的url响应不同的html内容

在这里插入图片描述

const server = http.createServer()         // 创建web服务器
// 监听服务器的request事件
server.on('request', (req, res) => {
    const url = req.url             // 获取客户端的地址
    // 把请求的地址映射为具体文件的存放路径和
    // const fpath = path.join(__dirname, url)
    let fpath=''
    if(url === '/') {  fpath=path.join(__dirname,'')
    } else {  fpath=path.join(__dirname,'',url)
    }
    // 读取文件 显示为客户端
    fs.readFile(fpath, 'utf8', (err, dataStr) => {
         if(err) return res.end('404 Not Found.')   // 失败 
        res.end(dateStr)
    })
})
server.listen(80, () => {
    console.log('server ruuning at http://127.0.0.1');
})           // 启动服务器

四、npm与包

安装包的命令为 npm i moment
卸载包的命令 npm uninstall moment

(1)包的使用

  • 包必须以单独的目录存在

  • 包的顶级目录下必须包含package.json这个包配置文件

  • package.json中必须包含name(包的名字),version(版本号),main(包的入口)

(2)开发包

需要实现的功能

  • 格式化日期

  • 转义HTML中的特殊字符

  • 将HTML中的符号转为字符

  • 还原HTML中的特殊字符

在这里插入图片描述

(3)把包发布到npm上

将终端切换到包的根目录下 命令为:cd 包名为根目录

运行npm publish命令


五、模块化

模块在第一次加载后就被缓存

(1)内置模块(加载优先级最高)

(2)第三方模块的加载机制

(3)目录作为模块
在这里插入图片描述


六、express
  • 安装:在项目所处的目录下,运行如下的终端命令,即可将express安装到项目中使用
    命令:npm i express@4.17.1

(1)监听GET请求

app.get('请求url',function(req,res) {/**处理函数/})
//参数1:客户端请求的url地址

(2)监听POST请求

app.post('请求url',function(req,res) {/**处理函数/})

(3)响应客户端

app.send('处理的内容')

(4)获取url中携带的查询参数

 app.get('/',(req,res)=>{
// console.log(req.query)
 res.send(req.query)
 })
 app.get('./uesr/:id',(req,res)=>{
//     console.log(req.params)
    req.send(req.params)
 })

(5)express路由

express路由指的是客户端的请求与服务器之间的映射关系

app.METHOD(PATH,HANDLER)

express由三部分组成,分别是请求的类型,请求的url地址,处理函数

(6)express中间件

中间件的函数必须包含next参数,而路由处理函数中只有req,res

next函数的作用:实现多个中间件连续调用的关键

//定义中间件函数
const express=require('express')
const app=express()
const mw=function(req,res,next) {
    console.log('d')
next()
}
//定义全局生效的中间件
app.ues(mw)
app.get('/',(req,res) => {
    res.send('Home fd')
})
app.get('/clock',(req,res) => {
    res.send('User Page')
})
app.listen(80,() => {
    console.log('http://127.0.0.1')
})

(7)express写接口

  • 创建API接口

在这里插入图片描述

  • 编写GET接口
apRouter.get('/get'(req,res) => {
const query=req.query
res.send({
    //0是请求成功,1表示请求失败
    
status:0,
mag:'GET成功',
    data:query
})
})
  • 编写POST接口

在这里插入图片描述

举报

相关推荐

0 条评论