大家好,欢迎来到IT知识分享网。
egg 是什么?
egg 是阿里出品的一款 node.js 后端 web 框架,基于 koa 封装,并做了一些约定。
为什么叫 egg ?
egg 有孕育的含义,因为 egg 的定位是企业级 web 基础框架,旨在帮助开发者孕育适合自己团队的框架。
哪些产品是用 egg 开发的?
语雀 就是用 egg 开发的
egg 和 koa 是什么关系?
koa 是 egg 的基础框架,egg 是对 koa 的增强。
学习 egg 需要会 koa 吗?
不会 koa 也可以直接上手 egg,但是会 koa 的话有助于更深层次的理解 egg。
创建项目
npm i egg-init -g egg-init egg-test --type=simple //例如:egg-init 项目名称 --type=simple cd egg-test npm i
目录结构
├── app │ ├── controller │ │ └── home.js │ └── router.js ├── config │ ├── config.default.js │ └── plugin.js ├── package.json
这就是最小化的 egg 项目,用 npm i 安装依赖之后,执行启动命令:
npm run dev [master] node version v14.15.1 [master] egg version 2.29.1 [master] agent_worker#1:23135 started (842ms) [master] egg started on http://127.0.0.1:7001 (1690ms)
打开 http://127.0.0.1:7001/ 会看到网页上显示 hi, egg 。
目录约定
上面创建的项目只是最小化结构,一个典型的 egg 项目有如下目录结构:
egg-project ├── package.json ├── app.js (可选) ├── agent.js (可选) ├── app/ | ├── router.js # 用于配置 URL 路由规则 │ ├── controller/ # 用于存放控制器(解析用户的输入、加工处理、返回结果) │ ├── model/ (可选) # 用于存放数据库模型 │ ├── service/ (可选) # 用于编写业务逻辑层 │ ├── middleware/ (可选) # 用于编写中间件 │ ├── schedule/ (可选) # 用于设置定时任务 │ ├── public/ (可选) # 用于放置静态资源 │ ├── view/ (可选) # 用于放置模板文件 │ └── extend/ (可选) # 用于框架的扩展 │ ├── helper.js (可选) │ ├── request.js (可选) │ ├── response.js (可选) │ ├── context.js (可选) │ ├── application.js (可选) │ └── agent.js (可选) ├── config/ | ├── plugin.js # 用于配置需要加载的插件 | ├── config.{env}.js # 用于编写配置文件(env 可以是 default,prod,test,local,unittest)
这是由 egg 框架或内置插件约定好的,是阿里总结出来的最佳实践,虽然框架也提供了让用户自定义目录结构的能力,但是依然建议大家采用阿里的这套方案。在接下来的篇章当中,会逐一讲解上述约定目录和文件的作用。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/184047.html