Node.js 笔记(一):express路由

代码

建立app.js文件,代码如下:

javascript 复制代码
const express = require('express')
const app = express()
const port = 3002

app.get('/',(req,res)=>{
    res.send('hello world!')
    
})

app.listen(port,()=>{
    console.log(`sever is running on http://localhost:${port}`)
})

问题

1️⃣ node.js 的作用

  • 让服务器可以运行js语言
  • 通过异步操作支持高并发,不擅长大型计算
  • 通过npm管理各种库

2️⃣ npm安装依赖库

(1)初始化npm

vscode中进入终端,通过npm init -y在项目文件夹中建立一个package.json文件

(2)针对项目安装库

vscode中进入终端,在项目文件夹目录中,输入 npm install pack_name1 pack_name2 ....,可以同时一行命令安装多个包。

3️⃣ 运行js文件

(1)反引号

我们在终端且在当前项目文件目录下,输入node app.js,但是本应在终端输出sever is running on http://3000:,并没有出现,复制代码去GPT发现是只有反引号才能实现格式化字符串

(2)端口占用

更正反引号后发现还是没有正常输出,但是终端也没有报错,这个时候怀疑是端口占用。于是在命令行中输入netstat命令,并没有发现有3000端口的占用。

但是还是在代码中把端口3000改成了3002,此时再运行js文件,发现正常输出,于是怀疑是因为3000端口用来给mongodb服务器了,所以在netstat中不会出现3000端口占用的情况。

结束服务端js文件的执行,只需要ctrl+c即可

4️⃣ (res,req)

res是请求,req是回复

对于返回给服务端的消息我们可以知道一下事情

  • req.body:客户端提交数据,例如postput请求
  • req.query:查询字符串参数的数据,例如?key=value
  • req.ip:返回客户端的IP地址

对于客户端我们可以得到服务端的信息:

  • res.send(data):服务端相应的数据
  • res.json(data):json格式的数据
  • res.status:响应状态码
  • res.end:结束响应

在我打印客户端的ip地址的时候,服务器返回::1,这个代表本机的地址

总结

express模块在其中起到了中间件的作用,可以想象一条流水线上有不同的工人,而express模块就可以演化成不同的工人。

相关推荐
sel_96 小时前
【多轮对话论文导读(三)】多轮对话与Agent论文阅读笔记:用户模拟、轨迹生成与长期记忆
论文阅读·人工智能·笔记·深度学习·算法·机器学习
zzm6286 小时前
《SIGIR 2018论文精读|深度学习点击序列模型:对搜索页面点击行为进行序列建模》
笔记·深度学习·推荐系统·论文精读
常驻客栈7 小时前
B-深入理解计算机系统第3版之第8章:异常控制流
笔记·学习·常驻客栈·深入理解计算机系统·学习笔记‘’
Seraphina368 小时前
记一次实验:利用路径分隔符进行网页缓存欺骗
经验分享·笔记·安全·网络安全·缓存
AOwhisky8 小时前
Linux 网络服务架设学习笔记(第五期)——Web 服务(上篇):Apache HTTP Server——从静态到动态
linux·运维·服务器·笔记·学习·云计算·apache
摇滚侠9 小时前
《SpringBoot 3:入门与应用实战》第 9 章 使用 WebMvc 开发应用 阅读笔记 1
spring boot·笔记·后端
丰锋ff11 小时前
设计模式学习笔记
笔记·学习·设计模式
罗西的思考11 小时前
【OpenClaw具身硬件】ZeroClaw 源码阅读笔记(1)— 总体
人工智能·笔记·深度学习·机器学习
loopne12 小时前
AI网文写作实验笔记(十三):系列总结——12 篇实验、8 条核心结论,把“AI 写小说“每一步拆开验证
人工智能·经验分享·笔记·ai写作·智能写作
M78佐菲12 小时前
Linux多线程:创建、回收与互斥同步
linux·笔记·学习·算法