Node 企业级框架和应用Egg.js 入门

栏目: IT技术 · 发布时间: 4年前

内容简介:Egg.js 缩写为 Egg,是阿里开源的企业级Node.js 框架,专注于企业级框架和应用而生。Egg特性:提供基于 Egg 定制上层框架的能力,高度可扩展的插件机制,内置多进程管理,基于 Koa 开发,性能优异,框架稳定,测试覆盖率高,渐进式开发。下面雷雪松带大家一起来快速入门Node 企业级框架和应用Egg.js 。1、Egg 脚手架搭建2、Egg目录结构

Egg.js 缩写为 Egg,是阿里开源的企业级Node.js 框架,专注于企业级框架和应用而生。Egg特性:提供基于 Egg 定制上层框架的能力,高度可扩展的插件机制,内置多进程管理,基于 Koa 开发,性能优异,框架稳定,测试覆盖率高,渐进式开发。下面雷雪松带大家一起来快速入门Node 企业级框架和应用Egg.js 。

1、Egg 脚手架搭建

$ mkdir egg-demo && cd egg-demo
 $ npm init egg --type=simple
 $ npm i

2、Egg目录结构

app/router.js 用于配置 URL 路由规则。

app/controller/** 用于解析用户的输入,处理后返回相应的结果。

app/service/** 用于编写业务逻辑层,可选,建议使用。

app/middleware/** 用于编写中间件,可选。

app/public/** 用于放置静态资源,可选。

app/extend/** 用于框架的扩展,可选。

config/config.{env}.js 用于编写配置文件。

config/plugin.js 用于配置需要加载的插件。

test/** 用于单元测试。

app.js 和 agent.js 用于自定义启动时的初始化工作,可选,。

app/public/** 用于放置静态资源,可选。

app/schedule/** 用于定时任务。

app/view/** 用于放置模板文件,可选。

app/model/** 用于放置领域模型,可选。

3、Egg 内置基础对象

Application

Application 是全局应用对象,在一个应用中,只会实例化一个,它继承自 Koa.Application,在它上面我们可以挂载一些全局的方法和对象。我们可以轻松的在插件或者应用中扩展 Application 对象。

Context

Context 是一个请求级别的对象,继承自 Koa.Context。在每一次收到用户请求时,框架会实例化一个 Context 对象,这个对象封装了这次用户请求的信息,并提供了许多便捷的方法来获取请求参数或者设置响应信息。框架会将所有的 Service 挂载到 Context 实例上,一些插件也会将一些其他的方法和对象挂载到它上面(egg-sequelize 会将所有的 model 挂载在 Context 上)。

Request & Response

Request 是一个请求级别的对象,继承自 Koa.Request。封装了 Node.js 原生的 HTTP Request 对象,提供了一系列辅助方法获取 HTTP 请求常用参数。Response 是一个请求级别的对象,继承自 Koa.Response。封装了 Node.js 原生的 HTTP Response 对象,提供了一系列辅助方法设置 HTTP 响应。

Controller

框架提供了一个 Controller 基类,并推荐所有的 Controller 都继承于该基类实现。

Service

框架提供了一个 Service 基类,并推荐所有的 Service 都继承于该基类实现。

Helper

Helper 用来提供一些实用的 utility 函数。它的作用在于我们可以将一些常用的动作抽离在 helper.js 里面成为一个独立的函数,这样可以用 JavaScript 来写复杂的逻辑,避免逻辑分散各处,同时可以更好的编写测试用例。

Config

可以通过 Config 对象获取到所有框架、插件和应用级别的配置。

Logger

框架内置了功能强大的日志功能,可以非常方便的打印各种级别的日志到对应的日志文件中,每一个 logger 对象都提供了 4 个级别的方法:logger.debug()、logger.info()、logger.warn()、logger.error()。

Subscription

订阅模型是一种比较常见的开发模式,譬如消息中间件的消费者或调度任务。因此我们提供了 Subscription 基类来规范化这个模式。

来源:Node 企业级框架和应用Egg.js 入门


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

敏捷软件开发

敏捷软件开发

马丁 / 邓辉、孙鸣 / 人民邮电出版社 / 2008-01-01 / 69.00元

《敏捷软件开发:原则模式和实践(C#版)》不仅是一部深入浅出、生动易懂的面向对象原则与设计模式著作。而且还是一部通俗的敏捷方法导引书和快速实用的LJML教程。通过《敏捷软件开发:原则模式和实践(C#版)》你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗。变得鲜活生动起来。 C#版与此前的Java版相比,主要的更新包括加强了UML的介绍章节。使其更加贴近实战;增加了对MVP模式的介......一起来看看 《敏捷软件开发》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具