Egg 的基本知识点

1、Egg.js 是什么?

  1. Egg.js 是《阿里旗下产品》基于 Node.js 和 Koa 是一个 Nodejs 的企业级应用开发框架。可以帮助开发团队和开发人员降低开发和维护成本。
  2. Express 和 Koa 是 Nodejs 社区广泛使用的框架,简单且扩展性强,非常适合做个人项目。但是框架本身缺少约定,标准的 MVC 模型会有各种千奇百怪的写法。Egg 按照约定进行开发,奉行【约定优于配置】,团队协作成本低。

2、Egg.js 的特性:

  1. 提供基于 Egg 定制上层框架的能力
  2. 高度可扩展的插件机制
  3. 内置多进程管理
  4. 基于 Koa 开发,性能优异
  5. 框架稳定, 测试覆盖率高
  6. 渐进式开发

3、Egg 是一个 mvc 的框架

  • view 视图 模板 页面的展示
  • controller 控制器 负责处理一些业务逻辑的处理
  • model 模型 和数据打交道(查询数据库 请求数据)

4、Egg 获取 get 传值

// 访问地址:
http://127.0.0.1:7001/newscontent?aid=22244

// router 配置
router.get('/newscontent', controller.news.content);

//controller 代码
async content(){
    const {ctx} = this;
    // egg.js 里面获取 get 传值
    let query = ctx.query;
    console.log(query)
    ctx.body = '新闻详情';
}

5、Egg 获取动态路由参数

// 访问地址:
http://127.0.0.1:7001/newslist/life

// router 配置
router.get('/newslist/:id', controller.news.list);

//controller 代码
async list(){
    const {ctx} = this;
    // egg.js 里面获取动态路由参数
    let params = ctx.params;
    console.log(params)
    ctx.body = '新闻列表';
}

6、Egg 使用 ejs 模板渲染页面

async ejs(){
    const {ctx} = this;
    //  要注意 render 方法是异步方法,要用 await。ejs 的配置从 github 里面有说明(egg-ejs)
    let msg = '我是传值标题';
    let list = [1,2,3,4,5];
    await ctx.render('news',{msg,list})
}

7、Egg 使用静态资源css 或者 image

// 首先在 app/public 目录下创建 css 目录和 images 目录
// css
<link rel="stylesheet" href="/public/css/basic.css">
// images
<img src="/public/images/1.jpg" alt="" srcset="">

8、Egg 中 service定义以及使用

// controller 中调用 service 主要注意异步调用。
let msg = await this.service.news.getNewsTitle();

// service 定义
const Service = require('egg').Service;

class NewsService extends Service {
    async getNewsTitle() {
        return 'service 标题:福建新闻'
    }
}

module.exports = NewsService;

9、Cookie 简介

cookie 是存储于访问者的计算机中的变量。可以让我们用同一个浏览器访问同一个域名的时候共享数据。

HTTP 是无状态协议。简单地说,当你浏览了一个页面,然后转到同一个网站的另一个页面,服务器无法认识到这是同一个浏览器在访问同一个网站。每次访问都是没有任何关系的。

10、Cookie 作用

  • 可以实现 同一个浏览器访问同一个域的时候,不同页面之间的数据共享
  • 实现数据的持久化 (关闭浏览器重新打开后数据还存在)

11、Cookie 的常用属性

maxAge:1000*3600*24  // cookie 存储一天, 关闭浏览重新打开不消失,除非过期了。
httpOnly:true // 只允许在 js 里面访问,不允许客户端页面直接访问。
signed:true // 对 cookie 进行签名 防止用户修改 cookie
encrypt:true // 是否对 cookie 进行加密 (需要解密,并且可以用中文 cookie)

12、session 简介

session 是另一种记录客户状态的机制,不同的是 cookie 保存在客户端浏览器中,而 session 保存在服务器上。

13、session 的工作流程

当浏览器访问服务器并发送第一次请求时,服务端会创建一个 session 对象,生成一个类似于 Key,Value 的键值对,然后将 key(cookie)返回到浏览器(客户)端,浏览器下次再访问时,携带 key(cookie),找到对应的 session(value).

11、Session 的常用属性

maxAge:1000*3600*24  // cookie 存储一天, 关闭浏览重新打开不消失,除非过期了。
httpOnly:true // 只允许在 js 里面访问,不允许客户端页面直接访问。
signed:true // 对 cookie 进行签名 防止用户修改 cookie
encrypt:true // 是否对 cookie 进行加密 (需要解密,并且可以用中文 cookie)
renew:true // 每次刷新页面的时候 session 都会被延期。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,386评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,142评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,704评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,702评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,716评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,573评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,314评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,230评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,680评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,873评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,991评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,706评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,329评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,910评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,038评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,158评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,941评论 2 355

推荐阅读更多精彩内容

  • http协议有http0.9,http1.0,http1.1和http2三个版本,但是现在浏览器使用的是htt...
    一现_阅读 1,863评论 0 3
  • 原文链接https://eggjs.org/zh-cn/intro/quickstart.html 服务(Serv...
    龙哈哈_4b89阅读 628评论 0 1
  • 森华要订婚了,明年就要嫁了,突然觉得好舍不得阿,虽然不是亲姐姐,嫁的地方也不远,还是要替她开心。温柔美丽的小姐姐就...
    YSHSKL阅读 102评论 0 0
  • 又到五一劳动节,劳动者的奉献和努力被世人关注与肯定已经很多年。我们活着,劳动是辛苦的,也是幸福的。马克思说过,劳动...
    习惯了岁月的忧伤阅读 146评论 0 4
  • 回顾时间是儿童理解他们有目的的游戏的时间。它不只是简单谈论他们计划了什么以及他们是如何做的。回顾为儿童反思自身行动...
    梦_e02a阅读 268评论 0 0