iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >egg.js是不是node
  • 596
分享到

egg.js是不是node

2023-07-04 22:07:47 596人浏览 薄情痞子
摘要

这篇文章主要讲解了“egg.js是不是node”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“egg.js是不是node”吧!egg.js是node框架,是一个继承于Koa的node.js框架

这篇文章主要讲解了“egg.js是不是node”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“egg.js是不是node”吧!

egg.js是node框架,是一个继承于Koa的node.js框架;egg.js框架不同于exporess、koa等基础框架,egg.js在应用级的提炼封装,使其更贴近业务场景,更快上手。

了解 egg.js

Egg 是一个继承于 Koa 的 node.js 框架。不同于 exporess、koa 等基础框架,egg.js 在应用级的提炼封装,使其更贴近业务场景,更快上手。

Egg 按照约定进行开发,奉行『约定优于配置』,团队协作成本低

安装

npm init eggnpm inpm run dev

一个基础的 api 大致由路由、获取请求参数、逻辑处理、返回响应数据几部分组成

路由

app/router.js 用于配置 URL 路由规则

router.get("/", controller.home.index);// 当访问GET '/' ,app/controller/home.js 下的 index 方法会执行router.post("/create", controller.user.create);// 当访问POST '/create' ,app/controller/user.js 下的 create 方法会执行

获取请求参数

this.ctx.query获取 URL 中 ? 后面的部分参数

// GET /posts?cateGory=egg&language=node// app/controller/post.jsclass PostController extends Controller {  async listPosts() {    const query = this.ctx.query;    // {    //   category: 'egg',    //   language: 'node',    // }  }}

this.ctx.params获取路由中的动态参数

// app.get('/projects/:projectId/app/:appId', controller.app.listApp);// GET /projects/1/app/2class AppController extends Controller {  async listApp() {    const params = this.ctx.params;    // {    //   projectId: '1',    //   appId: '2'    // }  }}

this.ctx.request.body获取 body 参数

// POST /api/posts Http/1.1// Host: localhost:3000// Content-Type: application/JSON; charset=UTF-8//// {"title": "controller", "content": "what is controller"}class PostController extends Controller {  async listPosts() {    const body = this.ctx.request.body;    // {    //   title: 'controller',    //   content: 'what is controller'    // }  }}

返回响应数据

this.ctx.body返回响应数据

class ViewController extends Controller {  async show() {    // 返回Content-Type为application/json的body    this.ctx.body = {      name: "egg",      category: "framework",      language: "Node.js",    };  }  async page() {    // 返回Content-Type为text/html的body    this.ctx.body = "<html><h2>Hello</h2></html>";  }}

使用 mysql 数据库

安装 Mysql 插件

npm i egg-mysql

配置

// config/plugin.jsexports.mysql = {  enable: true,  package: "egg-mysql",};// config/config.${env}.jsexports.mysql = {  // 单数据库信息配置  client: {    // host    host: "localhost",    // 端口号    port: "3306",    // 用户名    user: "root",    // 密码    passWord: "root",    // 数据库名    database: "database",  },};

使用

// 查找id 为 ${uid}的用户await this.app.mysql.get("users", { id: uid });

处理业务逻辑

业务逻辑建议放在app/service中,当然也包括数据库的操作

// app/service/user.jsconst Service = require("egg").Service;class UserService extends Service {  async find(uid) {    // 假如 我们拿到用户 id 从数据库获取用户详细信息    const user = await this.app.mysql.get("users", { id: uid });    return user;  }}module.exports = UserService;

之后可以通过 Controller 获取 Service 层拿到的数据。

// app/controller/user.jsclass UserController extends Controller {  async info() {    const ctx = this.ctx;    const userId = ctx.params.id;    // 调用service层的user下的find方法    const user = await ctx.service.user.find(userId);    ctx.body = user;  }}

基本 CURD 语句可以使用 create、get、select、update、delete 方法,直接执行 sql 语句可使用 query 方法。

感谢各位的阅读,以上就是“egg.js是不是node”的内容了,经过本文的学习后,相信大家对egg.js是不是node这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: egg.js是不是node

本文链接: https://www.lsjlt.com/news/347666.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • egg.js是不是node
    这篇文章主要讲解了“egg.js是不是node”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“egg.js是不是node”吧!egg.js是node框架,是一个继承于Koa的node.js框架...
    99+
    2023-07-04
  • egg.js是node么
    本教程操作环境:Windows10系统、egg.js v2.0.0版、Dell G3电脑。egg.js是node么?是。了解 egg.jsEgg 是一个继承于 Koa 的 node.js 框架。不同于 exporess、koa 等基础框架,...
    99+
    2023-05-14
    egg.js node
  • npm是不是node
    小编给大家分享一下npm是不是node,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! npm不是no...
    99+
    2024-04-02
  • node是不是免费的
    本文小编为大家详细介绍“node是不是免费的”,内容详细,步骤清晰,细节处理妥当,希望这篇“node是不是免费的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。node是免费的;node发布于2009年5月,由Ry...
    99+
    2023-07-05
  • gulp是不是基于node
    这篇文章给大家分享的是有关gulp是不是基于node的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 gulp是基于node的。Gulp是基于node平...
    99+
    2024-04-02
  • node是不是单线程运行
    这篇“node是不是单线程运行”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node是不是...
    99+
    2024-04-02
  • node代码是不是开源的
    本文小编为大家详细介绍“node代码是不是开源的”,内容详细,步骤清晰,细节处理妥当,希望这篇“node代码是不是开源的”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2024-04-02
  • vue底层是不是用node写的
    这篇文章主要讲解了“vue底层是不是用node写的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue底层是不是用node写的”吧! ...
    99+
    2024-04-02
  • reactjs是不是只能在node中运行
    这篇文章主要介绍了reactjs是不是只能在node中运行的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇reactjs是不是只能在node中运行文章都会有所收获,下面我们一起来...
    99+
    2024-04-02
  • node还是golang
    在现代应用程序开发的世界中,有两种编程语言备受关注,它们分别是Node.js和Golang。Node.js是基于JavaScript的并采用异步事件驱动编程模型的开发平台,而Golang则是一种静态类型语言,集成了高效的并发编程模型和高性能...
    99+
    2023-05-19
  • node是后端吗
    这篇文章主要介绍“node是后端吗”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node是后端吗”文章能帮助大家解决问题。 node是后...
    99+
    2024-04-02
  • 解决使用node命令提示:'node'不是内部或外部命令,也不是可运行的程序
    目录情况1:安装node.js:情况2:没配置好环境变量总结报错:使用node命令提示: ‘node‘ 不是内部或外部命令,也不是可运行的程序 原因:没安装n...
    99+
    2023-02-27
    node不是内部或外部命令 也不是可运行的程序 nodejs不是内部外部命令
  • node是什么意思
    本篇内容介绍了“node是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • node是免费的么
    本教程操作环境:Windows10系统、Node.js 17版、DELL G3电脑node是免费的么?是免费的。Node.js 简介Node.js 是一个开源服务器环境Node.js 是免费的Node.js 在各种平台 (Windows, ...
    99+
    2023-05-14
    Node.js
  • 执行node -v显示node不是内部或外部命令如何解决
    本篇内容主要讲解“执行node -v显示node不是内部或外部命令如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“执行node -v显示node不是内部或...
    99+
    2024-04-02
  • 使用node命令提示:'node'不是内部或外部命令,也不是可运行的程序如何解决
    本文小编为大家详细介绍“使用node命令提示:'node'不是内部或外部命令,也不是可运行的程序如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“使用node命令提示:'node'不是内部或外部命令,也...
    99+
    2023-07-05
  • node express是什么意思
    本篇内容主要讲解“node express是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“node express是什么意思”吧! ...
    99+
    2024-04-02
  • node nvm是什么意思
    这篇文章主要介绍了node nvm是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 nvm全称“node...
    99+
    2024-04-02
  • node模块化是什么
    这篇“node模块化是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“node模块化是什么”文章吧。什么是模块化模块化是指...
    99+
    2023-07-05
  • Node中的Stream是什么
    本篇内容主要讲解“Node中的Stream是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node中的Stream是什么”吧!stream 是一个抽象的数据接口,它继承了 EventEmit...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作