express静态文件

当页面要展现图片的时候,需要每一个图片用路由去监听才会在页面上得到效果,例如
index.js
const express = require("express");
const path = require("path");let app = express();
app.listen(4567);app.get("/",(req,res)=>{res.sendFile(path.join(__dirname,"./public/index.html"));
});app.get("/img/1.jpg",(req,res)=>{res.sendFile(path.join(__dirname,"./public/img/1.jpg"))
});
app.get("/img/5.png",(req,res)=>{res.sendFile(path.join(__dirname,"./public/img/5.png"))
});
index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<img src="/img/5.png" alt="">
<img src="/img/gg/1.jpg" alt="">
<img src="/img/2.png" alt="">
<img src="/img/3.png" alt="">
<img src="/img/4.jpg" alt="">
</body>
</html>

静态文件

node.js会开放一个静态文件夹,当服务器去访问的时候,只要你能读取到的文件夹的内容,都可以直接被访问
设置静态文件目录
根路由默认访问index.html:
index.js
const express = require("express");let app = express();
app.listen(4567);app.use(express.static("./public"));//设置静态文件夹
public/index.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<img src="/img/5.png" alt="">
<img src="/img/gg/1.jpg" alt="">
<img src="/img/2.png" alt="">
<img src="/img/3.png" alt="">
<img src="/img/4.jpg" alt="">
</body>
</html>

express之cookie的使用

一、关于Cookie

在我们关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失;当我们浏览了商品后历史记录里出现了我们点击过的商品;当我们推回到首页后,推荐商品也为我们选出了相似物品;事实上当我们有过此类操作后,浏览器会将我们的操作信息保存到cookie上面。阿进而言之,cookie就是储存在用户本地终端上的数据。

Cookie的特点

`1.cookie保存在浏览器本地,只要不过期关闭浏览器也会存在。``2.正常情况下cookie不加密,用户可轻松看到``3.用户可以删除或者禁用cookie``4.cookie可以被篡改``5.cookie可用于攻击``6.cookie存储量很小,大小一般是4k``7.发送请求自动带上登录信息`

蓝袍小将

Express全系列教程之(六):cookie的使用

一、关于Cookie

在我们关闭一个登录过的网址并重新打开它后,我们的登录信息依然没有丢失;当我们浏览了商品后历史记录里出现了我们点击过的商品;当我们推回到首页后,推荐商品也为我们选出了相似物品;事实上当我们有过此类操作后,浏览器会将我们的操作信息保存到cookie上面。阿进而言之,cookie就是储存在用户本地终端上的数据。

Cookie的特点

1.cookie保存在浏览器本地,只要不过期关闭浏览器也会存在。
2.正常情况下cookie不加密,用户可轻松看到
3.用户可以删除或者禁用cookie
4.cookie可以被篡改
5.cookie可用于攻击
6.cookie存储量很小,大小一般是4k
7.发送请求自动带上登录信息`

二、Cookie的安装及使用

来源: https://www.cnblogs.com/lpxj-blog/p/10720528.html

1.安装

`cnpm install cookie-parser --save`

2.引入

`const cookieParser=require(``"cookie-parser"``);`

3.设置中间件

`app.use(cookieParser());`

4.设置cookie

res.cookie(``"name"``,``'zhangsan'``,{maxAge: 900000, httpOnly: ``true``});
//res.cookie(名称,值,{配置信息})`

关于设置cookie的参数说明:

domain: 域名
name=value:键值对,可以设置要保存的 Key/Value,注意这里的 name 不能和其他属性项的名字一样
Expires: 过期时间(秒),在设置的某个时间点后该 Cookie 就会失效,如 expires=Wednesday, 09-Nov-99 23:12:40 GMT。
maxAge: 最大失效时间(毫秒),设置在多少后失效 。
secure: 当 secure 值为 true时,cookie 在 HTTP 中是无效,在 HTTPS 中才有效 。
Path: 表示 在那个路由下可以访问到cookie。
httpOnly:是微软对 COOKIE 做的扩展。如果在 COOKIE 中设置了“httpOnly”属性,则通过程序(JS 脚本、applet 等)将无法读取到COOKIE 信息,防止 XSS 攻击的产生 。
singed:表示是否签名cookie, 设为``true会对这个 cookie 签名,这样就需要用 res.signedCookies 而不是 res.cookies 访问它。被篡改的签名 cookie 会被服务器拒绝,并且 cookie 值会重置为它的原始值。

5.获取cookie

`req.cookie.name;`

案例

test2.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>let Cookie = {set(obj,day=7){let date = new Date(new Date().getTime() + day*24*60*60*1000).toUTCString();for (let [k,v] of Object.entries(obj)){document.cookie = `${k}=${v}; expires=${date}`;}},get(key){new RegExp("(^|\\s)"+key+"=(.+?)(;|$)").test(document.cookie);return RegExp.$2;},remove(key){this.set({[key]:""},-1);}};Cookie.set({name:"afei"},7);$(document).click(function(){$.ajax({type : "GET",url : "/api",data : {a:10,b:20},success(msg){console.log(msg);}});});</script>
</body>
</html>
index5.js
const express = require("express");
const cookieParser = require("cookie-parser");
const path = require("path");let app = express();
app.listen(4567);app.use(express.json());
app.use(express.urlencoded({extended:true}));
/*处理cookie的中间件*/
app.use(cookieParser());app.get("/",(req,res)=>{console.log(req.app ===app && res.app === app);res// .status(200).sendFile(path.join(__dirname,"./public/test2.html"));
});app.get("/api",(req,res)=>{console.log(req.query);/*获取前端传过来的cookie*/console.log(req.cookies);/*给前端设置cookie*/res.cookie("age","18",{'expires':new Date(Date.now() + 90000)});
3res.send("789456123");
});

前端可以设置cookie大部分情况下用后端设置

express api熟悉

req.app=app && res.app=app
资源: https://www.zybuluo.com/XiangZhou/note/208532
路由参数
app.get("/article/:gd",(req,res)=>{/*对应位置的路由数据会存储到req.params*/console.log(req.params.gd);/*通过数据库找到对应的gd数据*/// data// res.render();});

express静态文件相关推荐

  1. 3 ~ express ~ 静态文件托管

    静态资源文件处理 (一)设置静态资源托管目录 /* *  当 用户访问的 url 以 /public 开始 ,那么直接返回对应 __dirname + '/public' 下的文件  . 注意是双下划 ...

  2. 【Express】 —利用 Express 托管静态文件

    [Express] -Express 静态文件托管 方法一 随便找了几张帅哥的图片 凑合着看吧 方法二

  3. 用Express、MySQL搭建项目(接口以及静态文件获取、文件上传等)

    一.简介 本文将主要基于node.js使用express框架搭建一个后台环境,包括如何自定义项目目录.所用依赖以及中间件.路由以及模板引擎.接口数据获取以及文件上传等内容. 二.后台环境搭建 1.新建 ...

  4. (三)、Express 路由、静态文件、

    一.路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问. 每一个路由都可以有一个或者多个 ...

  5. Express 路由、Ejs 、静态文件托管、中间件

    一. Express 简单介绍 Express 是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架,它提供一系 列强大的特性,帮助你创建各种 Web 和移动设备应用. Expres ...

  6. express html文件接收路由参数,express 获取post 请求参数

    在 Express 中没有内置获取表单 POST 请求体的 API , 我们需要添加第三方插件库 安装: npm install --save body-parser 配置: var bodyPars ...

  7. Express-js无法获取我的静态文件,为什么?

    本文翻译自:Express-js can't GET my static files, why? I've reduced my code to the simplest express-js app ...

  8. Node.js快速文件服务器(通过HTTP的静态文件)

    本文翻译自:Node.js quick file server (static files over HTTP) Is there Node.js ready-to-use tool (install ...

  9. python 打包发布(含静态文件)

    pypi账号注册及设置 注册及添加token 首先在 https://pypi.org/ 注册一个账号,然后在 https://pypi.org/manage/account/ 添加一个token 设 ...

  10. nodejs返回html代码 引入路径问题+静态文件问题

    var express=require('express'); var app=express(); var path=require('path') // 设置静态文件的服务 var mysql=r ...

最新文章

  1. 页面是可以这样设计的
  2. Java DES 加解密(DES/CBC/PKCS5Padding)
  3. 19 FI配置-财务会计-定义销售/采购税代码
  4. Javascript -- 二叉树(先序,中序,后序实现)
  5. centos6.5搭建vsftp服务器
  6. Java面试题 - 数据结构与算法
  7. 钢板弹簧matlab,Matlab/GUI在钢板弹簧悬架设计中的应用
  8. 中职计算机应用基础表格制作说课稿,表格制作说课稿.doc
  9. GPS导航电文——第三子帧数据解析
  10. 适合小规模培训、带货的群直播是怎样的呢?
  11. 如何把苹果卖出高价?
  12. 深度技术GHOST WIN7 SP1 装机旗舰版 2013 07
  13. Python:Turtle图形绘制
  14. git本地仓库关联远程仓库的两种方式
  15. dosbox汇编环境的安装和使用
  16. Hbuilder红色版下载
  17. 第十二届蓝桥杯省赛一等奖国赛一等奖经验总结
  18. 7天掌握NIO和SOCKET,第三天,CharBuffer的API使用
  19. PC远程控制android思路,PC 远程控制 android手机的方法之一VNC
  20. SDI接口基于FPGA GTP实现

热门文章

  1. ImagePicker 打开前置摄像头
  2. 使用MVC结构计算梯形面积
  3. php easyui filebox,easyui fileBox 获取文件名和添加下拉框
  4. Mongodb数据丢失解决办法
  5. Windows 开启护眼模式 | Windows护眼软件
  6. html在线人数统计代码,做一个简单的网站统计和在线人数统计
  7. Hackintosh黑苹果i7-8700+华硕B360MTUFGAME_S+RX5700最终版EFI
  8. pos收银系统 php,POS收银系统
  9. qt小闹钟 完整程序_Qt实现闹钟小程序
  10. 计算机硬盘如何安装系统,如何对新计算机硬盘进行分区并安装系统