上一篇:《node.js 快捷键 & 最小demo》


《egg.js 别人的经验》

作者 vhaixingv 创建于 18-06-06 11:44:22

为企业级框架和应用而生,希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本。

因为 egg 是基于koa 2x开发的,所以官方还特别强调了与其它两个社区框架 ExpressSails 的差异点


特性


快速开始

怎么快速的用 egg 快速的进行开发呢,我们选择使用其官方提供的内置脚手架,推荐egg-init

首先安装 eggnpm i egg-init -g), 然后初始化项目 egg-init egg-example --type=simple

进入生成的 egg-example 目录,其结构如下:

egg-example ├── package.json(配置文件) ├── app |   ├── router.js(路由文件) │   ├── controller │   |   └── home.js(用户控制层) ├── config |   ├── plugin.js(插件配置) |   ├── config.default.js(默认配置) └── test └── app └── controller └── home.test.js(测试文件)

安装依赖之后我们就能够运行 npm run dev 在本地查看了。

image.png

在图中我们可以看到,程序已经正常的在本地跑了起来,打印出当前使用的版本以及当前的 agent_worker 并监听了7001这个端口。关于 agentworker以及 master 的详细不在这里具体介绍,有兴趣的童鞋可以移步官网。

接下来我们就能在 controller 编写自己的业务逻辑代码了,为了保持 Controller```` 中的逻辑更加简洁,官方推荐增加service层,什么是Service呢,相信很多同学对它还很陌生,简单来说,Service就是在复杂业务场景下用于做业务逻辑封装的一个抽象层。同时把业务逻辑进行封装之后还可以保持业务逻辑的独立性,抽象出来的Service可以被多个Controller``` 重复调用。并且将逻辑和展现分离,更容易编写测试用例。

这样一来,是否可以将之前写的微信公众号系统进行重构呢,在代码和整个架构上进行一个规范,赶紧动动手吧。

结语

国内前端优秀的开发团队还有很多,但是阿里算是做的比较好的,至少他家的文档让我整体看来很舒服,而且逐渐把前端的一些概念开始扩展,融入了一些后端的思想。想想还有特别火热的 RxJs 系列,看来未来前端依旧会走在时尚的前流。

另外在学习的过程中发现问题我们可以给 egg 团队提 issue 的哇,或者有更好的解决方案可以提交 PR ,万一被合并了,这牛也可以吹半辈子了哈。



每周更新的文章,直接跳转去看https://cnodejs.org/topic/5a92ebb671327bb413bbfe38

什么是最小Web系统

Web最小系统,就是满足Web服务最小功能系统。对于最小功能的系统,不同Web开发程序员有不同的理解。从系统分层就可以有很多方式,裁剪成最小功能那就有很多的组合。在我的理解中,最小Web系统可以精简成一下两个元素。

start-smallest-sys.png



下一篇:《debian 配置防火墙》