正文
这是必备的Hello World章节,本章节将不使用脚手架,逐步创建一个hello world web应用。
- 如果要使用脚手架直接
npm init egg --type=simple
- 然后yarn安装依赖就好了,yarn dev运行起来
初始化项目
先来初始化下目录结构:
$ mkdir egg-example
$ cd egg-example
$ npm init
$ npm i egg --save
$ npm i egg-bin --save-dev
- 添加 npm scripts 到 package.json:
{
"name": "egg-example",
"scripts": {
"dev": "egg-bin dev"
}
}
编写 Controller
如果你熟悉 Web 开发或 MVC,肯定猜到我们第一步需要编写的是 Controller 和 Router。
// app/controller/home.js
const Controller = require('egg').Controller;
class HomeController extends Controller {
async index() {
this.ctx.body = 'Hello world';
}
}
module.exports = HomeController;
配置路由映射:
// app/router.js
module.exports = app => {
const { router, controller } = app;
router.get('/', controller.home.index);
};
加一个配置文件:
// config/config.default.js
exports.keys = <此处改为你自己的 Cookie 安全字符串>;
此时目录结构如下:
egg-example
├── app
│ ├── controller
│ │ └── home.js
│ └── router.js
├── config
│ └── config.default.js
└── package.json
好,现在可以启动应用来体验下
$ npm run dev
$ open http://localhost:7001
注意:
Controller 有 class 和 exports 两种编写方式,本文示范的是前者,你可能需要参考 Controller 文档。
Config 也有 module.exports 和 exports 的写法,具体参考 Node.js modules 文档。