使用express搭建服务器,在app.get()设置路由的时候,js文件内的代码相对于此页面,而显示到页面上的路径,相对于localhost:端口/ 路径。
res.query.xxx 获取的为查询字符串,使用res.download()可以直接提供下载功能。
app.get('/download',(req,res)=>{
//获取查询字符串
console.info(req.query);
let file = req.query.file;
//然后直接使用 res.download();
res.download(file);
});
页面中可下载部分代码 <a href="/download?file=logon.html">下载logon页面</a>
路由级中间快
在使用express构建应用 的过程中,涉及多个路由,随着路由的增多,不可能在一个页面无限制的增加路由,此时需要引入中间路由快
新建 js路由文件, 引入express,再实例化 router对象 express.Router()
router()文件内的路由相对于此 文件在上层被引用文件的路由下
及 router.get('/',(req,res)=>{}) 及相对于lohosthost:3000/router ;router.get('/user',(req,res)=>{}) 及相对于lohosthost:3000/router /user
而无论在哪个路由下渲染的页面,其连接相对的起始路径均为localhost:3000
<-------------------------------------->
app.get('/',(req,res)=>{res.send('<a href="/">首页/</a> <a href="/u">路由页面/u</a>')});
app.use('/u',router);
注意app.use()与app.get() 在引入路由的时候,使用中间快,app.use() ,在中间快内使用router.get()
<------------------------------------->