Est-ce que le nœud egg.js ?
egg.js est un framework de nœuds, un framework node.js hérité de Koa ; le framework egg.js est différent des frameworks de base tels que exporess et koa est affiné et encapsulé au niveau de l'application pour le rendre plus proche. aux scénarios commerciaux. Démarrez plus rapidement.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version egg.js v2.0.0, ordinateur Dell G3.
egg.js est un nœud ?
Oui.
Comprendre egg.js
Egg est un framework node.js hérité de Koa. Différent des frameworks de base tels que exportess et koa, egg.js est affiné et encapsulé au niveau de l'application, ce qui le rend plus proche des scénarios commerciaux et permet un démarrage plus rapide.
Egg est développé conformément à l'accord, en adhérant à la « convention sur la configuration », et le coût de collaboration de l'équipe est faible
Installation
npm init egg npm i npm run dev
Une API de base est grossièrement composée du routage, de l'obtention des paramètres de requête, du traitement logique et renvoyer les données de réponse
Routing
app/router.js est utilisé pour configurer les règles de routage d'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 方法会执行
Obtenir les paramètres de requête
this.ctx.query pour obtenir l'URL Les paramètres suivants
// GET /posts?category=egg&language=node // app/controller/post.js class PostController extends Controller { async listPosts() { const query = this.ctx.query; // { // category: 'egg', // language: 'node', // } } }
this ? ctx.params pour obtenir l'itinéraire Les paramètres dynamiques dans
// app.get('/projects/:projectId/app/:appId', controller.app.listApp); // GET /projects/1/app/2 class AppController extends Controller { async listApp() { const params = this.ctx.params; // { // projectId: '1', // appId: '2' // } } }
this.ctx.request.body obtiennent le paramètre 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' // } } }
Retourne les données de réponse
this.ctx.bodyRetourne les données de réponse
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><h1>Hello</h1></html>"; } }
Utilisez la base de données MySQL
Installez le plug-in MySQL
npm i egg-mysql
Configuration
// config/plugin.js exports.mysql = { enable: true, package: "egg-mysql", }; // config/config.${env}.js exports.mysql = { // 单数据库信息配置 client: { // host host: "localhost", // 端口号 port: "3306", // 用户名 user: "root", // 密码 password: "root", // 数据库名 database: "database", }, };
Utilisez
// 查找id 为 ${uid}的用户 await this.app.mysql.get("users", { id: uid });
pour traiter la logique métier
Il est recommandé de placer la logique métier dans l'application/le service, qui inclut bien sûr également les opérations de base de données
// app/service/user.js const 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;
Le les données obtenues à partir de la couche Service peuvent être obtenues via le contrôleur.
// app/controller/user.js class 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; } }
Les instructions CURD de base peuvent utiliser les méthodes de création, d'obtention, de sélection, de mise à jour et de suppression
Pour exécuter directement des instructions SQL, vous pouvez utiliser la méthode de requête
Contrôle des transactions
egg.js 官网:https://www.eggjs.org/zh-CN/
Apprentissage recommandé : "Vidéo Node.js tutoriel"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment supprimer un nœud avec nvm : 1. Téléchargez « nvm-setup.zip » et installez-le sur le lecteur C ; 2. Configurez les variables d'environnement et vérifiez le numéro de version via la commande « nvm -v » 3. Utilisez la commande « nvm » ; install" commande Installer le nœud ; 4. Supprimez le nœud installé via la commande "nvm uninstall".

Comment gérer le téléchargement de fichiers ? L'article suivant vous expliquera comment utiliser Express pour gérer les téléchargements de fichiers dans le projet de nœud. J'espère qu'il vous sera utile !

Durant cette période, je développais un service HTML dynamique commun à toutes les catégories de documents Tencent. Afin de faciliter la génération et le déploiement des accès aux différentes catégories, et pour suivre la tendance de migration vers le cloud, j'ai envisagé d'utiliser Docker pour corriger. contenu du service et gérer les versions des produits de manière unifiée. Cet article partagera l'expérience d'optimisation que j'ai accumulée en train de servir Docker pour votre référence.

Cet article partagera avec vous l'outil de gestion de processus de Node "pm2" et expliquera pourquoi pm2 est nécessaire, comment installer et utiliser pm2, j'espère qu'il sera utile à tout le monde !

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment empaqueter le fichier exécutable nodejs avec pkg ? L'article suivant vous expliquera comment utiliser pkg pour empaqueter un projet Node dans un fichier exécutable. J'espère qu'il vous sera utile !

L'authentification est l'une des parties les plus importantes de toute application Web. Ce didacticiel traite des systèmes d'authentification basés sur des jetons et de leurs différences par rapport aux systèmes de connexion traditionnels. À la fin de ce didacticiel, vous verrez une démo entièrement fonctionnelle écrite en Angular et Node.js. Systèmes d'authentification traditionnels Avant de passer aux systèmes d'authentification basés sur des jetons, examinons les systèmes d'authentification traditionnels. L'utilisateur fournit son nom d'utilisateur et son mot de passe dans le formulaire de connexion et clique sur Connexion. Après avoir effectué la demande, authentifiez l'utilisateur sur le backend en interrogeant la base de données. Si la demande est valide, une session est créée à l'aide des informations utilisateur obtenues à partir de la base de données et les informations de session sont renvoyées dans l'en-tête de réponse afin que l'ID de session soit stocké dans le navigateur. Donne accès aux applications soumises à

Qu'est-ce qu'un système d'authentification unique ? Comment l'implémenter en utilisant nodejs ? L'article suivant vous présentera comment utiliser Node pour implémenter un système d'authentification unique. J'espère qu'il vous sera utile !
