在学习的过程中,我按部就班的编写中间件的代码,如下:
// @ts-nocheck
// 引入express组件
const express = require('express')
// 创建express实例
const app = express()
// 创建全局中间件
// @ts-ignore
app.use((req, res, next) => {
const time = new Date()
req.nowTime = time.toLocaleString()
console.log('调用中间件成功')
next()
})
// 调用get方法实现路径
app.get('/', (req, res) => {
res.send('创建成功...' + req.nowTime)
})
app.listen(8080, () => {
console.log('启动web成功,地址为: http://127.0.0.1')
})
可以看出,启动成功,没有错误,但是生成之后是这样。。。
终端控制台也没有打印中间件输出函数,在网上找了之后,也没有,因为我开的是8080端口,所以在网址后面,对于80端口可以省略,我也没有在意。在我不断地试错之下,发现
app.listen(8080, () => {
console.log('启动web成功,地址为: http://127.0.0.1:8080')
})
加上之后,中间件生效了,我查资料发现
对于80端口可以省略不?
是的,对于常见的 HTTP 端口如 80
,在浏览器中可以省略不写。因为默认的 HTTP 端口是 80
,所以当您在浏览器中访问 http://127.0.0.1
或 http://localhost
时,浏览器会自动将请求发送到 80
端口。
在您的 Express 应用程序中,如果您希望应用程序监听 80
端口,可以将 app.listen()
方法中的端口参数设置为 80
,如下所示:
app.listen(80, () => { console.log('启动web成功,地址为: http://127.0.0.1') })
这样,您的 Express 应用程序将会在 80
端口上监听请求,而无需在浏览器中显式指定端口号。当您在浏览器中访问 http://127.0.0.1
时,请求将会被发送到 80
端口,您的 Express 应用程序会正确处理请求并返回响应。
请注意,在某些情况下,可能需要管理员权限才能监听低于 1024
的端口号,包括 80
端口。如果您在本地开发环境中遇到权限问题,可以尝试使用其他端口号,如 8080
。
这我就不理解了。为啥加入那个就生效了,也算给兄弟们提供一个方法,有大佬的话,口下留情,欢迎指正!