1.Egg.js-环境搭建

发布于 2022年 02月 04日 08:39

1 Egg.js简介

1.1 是什么

Egg.js是阿里公司开源的一套Nodejs的企业级应用开发框架。

Egg.js为企业级框架和应用而生,我们希望由Egg.js孕育出更多的上层框架,帮助开发团队和开封人员降低开发成本。官网地址:eggjs.org/zh-cn/intro…

1.2 为什么选择Egg.js

  • 减少搭建项目的时间
  • 一切倾向于配置
  • 可以更加着重考虑业务逻辑
  • 约定高于配置,方便团队开发、维护

1.3 特点

  • 提供基于 Egg 定制上层框架的能力
  • 高度可扩展的插件机制
  • 内置多进程管理
  • 基于 Koa 开发,性能优异
  • 框架稳定,测试覆盖率高
  • 渐进式开发

2.初始化项目

2.1 Egg.js可以使用脚手架快速初始化项目

  • 操作系统:支持 macOS,Linux,Windows
  • 运行环境:Nodejs 建议选择 LTS 版本,Nodejs 最低要求 8.x,npm >=6.1.0
mkdir egg-example && cd egg-example
npm init egg --type=simple
npm install

2.2 然后启动项目

npm run dev
open http://localhost:7001

2.3 目录结构

egg-project
├── package.json
├── app.js (可选)
├── agent.js (可选)
├── app
|   ├── router.js
│   ├── controller
│   |   └── home.js
│   ├── service (可选)
│   |   └── user.js
│   ├── middleware (可选)
│   |   └── response_time.js
│   ├── view (可选)
│   |   └── home.tpl
│   └── extend (可选)
│       ├── helper.js (可选)
├── config
|   ├── plugin.js
|   ├── config.default.js
│   ├── config.prod.js

目录结构说明

  • app/router.js 用于配置 URL 路由规则。
  • app/controller/** 用于解析用户的输入,处理后返回相应的结果。
  • app/service/** 用于编写业务逻辑层,可选,建议使用。
  • app/middleware/** 用于编写中间件,可选。
  • app/extend/** 用于框架的扩展,可选。
  • config/config.{env}.js 用于编写配置文件。
  • config/plugin.js 用于配置需要加载的插件。

3 配置开发环境

3.1 添加vscode-eggjs扩展插件

vscode-eggjs插件实现了controller、service和model 类的自动生成,提高了开发效率。如果第一次安装没有代码提示,重启vscode即可。

GitHub地址:github.com/eggjs/vscod…

3.2 vscode调试egg.js项目

配置 VSCode 的 .vscode/launch.json,然后 F5 一键启动即可。

// .vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Launch Egg",
      "type": "node",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "runtimeExecutable": "npm",
      "windows": { "runtimeExecutable": "npm.cmd" },
      "runtimeArgs": [ "run", "debug" ],
      "console": "integratedTerminal",
      "protocol": "auto",
      "restart": true,
      "port": 9229,
      "autoAttachChildProcesses": true
    }
  ]
}

启动成功日志

还有一种方式就是使用 Chrome DevTools 调试

  • 直接访问控制台最后输出的 DevTools 地址,该地址是代理后的 worker,无需担心重启问题。
  • 访问 chrome://inspect,配置对应的端口,然后点击 Open dedicated DevTools for Node 即可打开调试控制台。

推荐文章