首页 > express 静态文件
头像
搞个宵夜778
发布于 2021-02-09 17:40
+ 关注

express 静态文件

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) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期精华帖

热门推荐