企业级node.js开发框架 【egg.js】 实用教程

简介: 企业级node.js开发框架 【egg.js】 实用教程

以搭建后端服务器 webcli_server 为例

创建并启动项目

  1. 新建文件夹 webcli_server
  2. 在webcli_server 文件夹中打开终端,执行
cnpm init egg --type=simple

cnpm 的朋友先执行 npm i cnpm

提示是否安装时,输入 y 回车

提示选择项目类型时,默认第一个回车即可

接着按提示输入项目名称、描述、作者等,都可以默认一直回车即可。


  1. 安装依赖
cnpm i
 
  1. 启动项目
npm run dev
 


  1. 查看效果
    浏览器访问 http://127.0.0.1:7001/

    恭喜你,项目创建并启动成功!

创建并启动 TS 项目

  1. 新建文件夹 eggDemo
  1. 在eggDemo 文件夹中打开终端,执行
cnpm init egg --type=ts

无 cnpm 的朋友先执行 npm i cnpm

向下的方向键选到 TS 后回车

之后一直回车使用默认项目名称、项目描述、项目作者、项目 key 即可。

  1. 安装依赖
cnpm i
  1. 启动项目
npm run dev
  1. 查看效果
    浏览器访问 http://127.0.0.1:7001/

    恭喜你,项目创建并启动成功!

创建 API

以获取项目模板的接口为例

  1. 新增文件 getTemplate.js ,路径为 app\controller\getTemplate.js ,内容为
'use strict';

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

class getTemplateController extends Controller {
  async index() {
    const { ctx } = this;
    ctx.body = '获取模板';
  }
}

module.exports = getTemplateController;

  1. 在 app\router.js 中添加 API的地址
router.get('/getTemplate', controller.getTemplate.index);

  1. 重启项目,访问 http://127.0.0.1:7001/getTemplate

    恭喜你,新的 API 创建成功!

连接数据库

通过 Robo 3T连接远程数据库,具体方法见

  • MongoDB的GUI工具——Robo 3T连接远程数据库MongoDB
    https://blog.csdn.net/weixin_41192489/article/details/116561364

通过 Robo 3T

  • 新建数据库 webcli_server
  • 新建用户 root
  • 新建表 template,内容为
{
    "a" : 1,
    "b" : 2
}

最终效果如下:

安装依赖

cnpm i @pick-star/cli-mongodb

将 getTemplate.js 修改为

'use strict';

const Controller = require('egg').Controller;
// 导入数据库连接工具
const mongodb = require('@pick-star/cli-mongodb');
// 数据库的远程连接地址,格式为 'mongodb://用户名:密码@远程IP:27017/数据库名称';
const dbUrl = 'mongodb://改成自己的数据库用户名:改成自己的数据库密码@改成自己的远程服务器公网ip:27017/webcli_server';

class getTemplateController extends Controller {
  async index() {
    const { ctx } = this;
    // 'template' 为数据库的表名
    const data = await new mongodb(dbUrl).query('template');
    ctx.body = data;
  }
}

module.exports = getTemplateController;

新增的代码功能详见代码中的备注。

启动项目,浏览器访问 http://127.0.0.1:7001/getTemplate

成功访问到数据库中的数据,证明远程连接数据库成功!

调试技巧

使用自带插件logger

默认插件logger只显示debug级别以上的信息,可以在配置中修改,如在config.default.ts中添加

config.logger = {
  consoleLevel: 'DEBUG',
};

在 Controller 中使用,语法与console相同。

ctx.logger.debug('debug');
ctx.logger.info('info');
ctx.logger.warn('warn');
ctx.logger.error(new Error('myError'));

使用vscode进行断点调试

在目标代码处设置断点

点击调试按钮

访问接口执行到目标断点时,会弹出下方调试界面,左侧可以监控变量的值,调试面板可控制代码逐句向下执行。

更多功能

详见官网

https://www.eggjs.org/zh-CN

目录
相关文章
|
存储 缓存 JavaScript
node 框架
Node 框架以其独特的优势和广泛的应用场景,成为了现代 Web 开发中不可或缺的一部分。掌握 Node 框架的开发技能,对于开发者来说具有重要的意义。
718 156
|
8月前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
600 1
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端框架
【10月更文挑战第34天】在数字化时代,后端开发如同一座桥梁,连接着用户界面与数据处理的两端。本文将通过Node.js这一轻量级、高效的平台,带领读者领略后端框架的魅力。我们将从基础概念出发,逐步深入到实战应用,最后探讨如何通过代码示例来巩固学习成果,使读者能够在理论与实践之间架起自己的桥梁。
|
11月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
421 19
|
Web App开发 缓存 监控
如何解决Node框架中内存管理的挑战?
解决 Node 框架中内存管理的挑战需要综合运用多种方法,并且需要在开发过程中保持谨慎和细心,不断优化和改进代码。同时,定期进行内存管理的检查和维护也是非常重要的。
486 160
|
安全 前端开发 JavaScript
Node框架的优缺点
Node 框架的优点使其在现代 Web 开发中具有重要地位,但同时也需要开发者在使用过程中注意其缺点,合理选择和应用,以充分发挥其优势,避免潜在问题的出现。随着技术的不断发展和完善,Node 框架也在不断改进和优化,以更好地适应各种应用需求。
726 155
|
存储 JavaScript 搜索推荐
Node框架的安装和配置方法
安装 Node 框架是进行 Node 开发的第一步,通过正确的安装和配置,可以为后续的开发工作提供良好的基础。在安装过程中,需要仔细阅读相关文档和提示,遇到问题及时解决,以确保安装顺利完成。
1236 155
|
存储 JavaScript 前端开发
在NodeJS中使用npm包进行JS代码的混淆加密
总的来说,使用“javascript-obfuscator”包可以帮助我们在Node.js中轻松地混淆JavaScript代码。通过合理的配置,我们可以使混淆后的代码更难以理解,从而提高代码的保密性。
1301 9
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
14466 23