const express = require("express"); const path = require("path"); const app = express(); /* 热更新 在全局之下使用命令npm i nodemon -g 将nodemon模块安装到全局环境之下,这样使用一次nodemon + fileName命令,下次就不用再执行重启命令了,直接刷新页面即可。 */ app.use(express.json()); app.use(express.urlencoded({extended:true})); app.listen(5666); /* 静态文件的访问!!! 初始当我们需要访问文件下的静态文件时,我们则需要监听不同的路由,需要把所有的路径都写一遍 当时当文件很多的时候,我们则需要些很多的路由监听 这样很不切合实际!!! 这是我们可以用express的express.static("路径名称")可以是绝对路径,也可以是相对路径 */ app.use(express.static("./public")); //如果开放的静态资源目录里面有index.html文件,则不需要监听,默认根路由会打开这个页面。 app.get("/img/:name",(req,res)=>{ res.sendFile(path.join(__dirname,"/public/img/"+req.params.name+".jpg")); }) //png,jpg,jpeg,jif格式后缀的文件会在网页中呈现,而.jfif后缀名的图片文件会直接下载到本地 //访问静态文件里面的文件的时候,路由里面不要加上静态文件的名字,直接写里面的路径就可以了 //相关API的学习 //参考网站:https://www.expressjs.com.cn/4x/api.html //总结: /* * express * express()启动服务 * listen监听端口 * * 中间件 * 数据处理的: * app.use(express.json()); app.use(express.urlencoded({extended:true})); * cookie处理: * * 静态资源 * app.use(express.static("./public")); * * 路由监听(get、post) * req * req.query * req.body * req.cookies * * req.params * 路由参数(:的形式监听路由) * * !!!子路由的形式只能适用于页面比较少的情况(它只是把子路由文件规范化,文件单独写出来<用require("")>) * 为了长远的考虑,当页面成百上千万的时候: * @例如:百度知道网站,在路由参数的末尾给一个参数,它就能响应不同的页面 * 写法:在路由后面加上 /:参数名 例: /:id req.params==>返回{id:你所输入的内容} * 人家把参数名对应的东西存在数据库里面,同过req.params得到请求的数据对象,然后再对应的去数据库取值 * 然后前端通过模板引擎,把数据渲染出来 * * res * res.status() 设置返回状态码 * res.send() * res.sendFile() * * Router() 子路由 * */
全部评论
(0) 回帖