Egg.js (一) 新建第一个项目

原由

之前的《Node.js 学习记录》采用的Express,由于年久失修,项目启动都有问题了。所以也懒得再去维护和新增功能了。加之最近两年使用antd比较多,上面的Egg.js也有所接触,所以觉得就以这个为基础新建项目玩玩。

看文档

做了这么多年的开发,遇见问题之前先看文档,没有为什么。
https://eggjs.org/zh-cn/intro/quickstart.html也不要像个萌新那样,不懂也不知道差,看视频的。先看看文档再想想,思路就清晰了。

新建项目

https://eggjs.org/zh-cn/intro/quickstart.html这里我就是人工手动搬家。
我们推荐直接使用脚手架,只需几条简单指令,即可快速生成项目(npm >=6.1.0):

mkdir egg-example && cd egg-example
npm init egg --type=simple
npm i

启动项目:

npm run dev
open http://localhost:7001

逐步搭建 这个我不推荐,有兴趣的也可以试试。

代码目录

在这里插入图片描述
刚开始关注app这个目录即可。

egg-example
├── app
│   ├── controller
│   │   └── home.js
│   └── router.js
├── config
│   └── config.default.js
└── package.json

完整的目录结构规范参见目录结构
这里我们可以在controller里面写接口,然后在router.js里面添加路由。
例如:home.js

'use strict';

const Controller = require('egg').Controller;

class HomeController extends Controller {
  async index() {
    const { ctx } = this;
    ctx.body = {
      params: ctx.params.id // 把接收的参数 返回出去
    }
  }
}

module.exports = HomeController;

router.js

'use strict';

/**
 * @param {Egg.Application} app - egg application
 */
module.exports = app => {
  const { router, controller } = app;
  router.get('/home/:id', controller.home.index);
};

浏览器访问:http://localhost:7001/home/12512
输出:

{
    "params": "12512"
}

至此第一个项目启动就正常了。至于原理,需要多看问文档。

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页