久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

egg.js是node么

egg.js是node框架,是一個繼承于Koa的node.js框架;egg.js框架不同于exporess、koa等基礎框架,egg.js在應用級的提煉封裝,使其更貼近業(yè)務場景,更快上手。

egg.js是node么

本教程操作環(huán)境:Windows10系統(tǒng)、egg.js v2.0.0版、Dell G3電腦。

egg.js是node么?

是。

了解 egg.js

Egg 是一個繼承于 Koa 的 node.js 框架。不同于 exporess、koa 等基礎框架,egg.js 在應用級的提煉封裝,使其更貼近業(yè)務場景,更快上手。

Egg 按照約定進行開發(fā),奉行『約定優(yōu)于配置』,團隊協(xié)作成本低

安裝

npm init egg npm i npm run dev
登錄后復制

一個基礎的 API 大致由路由、獲取請求參數(shù)、邏輯處理、返回響應數(shù)據(jù)幾部分組成

路由

app/router.js 用于配置 URL 路由規(guī)則

router.get("/", controller.home.index); // 當訪問GET '/' ,app/controller/home.js 下的 index 方法會執(zhí)行 router.post("/create", controller.user.create); // 當訪問POST '/create' ,app/controller/user.js 下的 create 方法會執(zhí)行
登錄后復制

獲取請求參數(shù)

this.ctx.query獲取 URL 中 ? 后面的部分參數(shù)

// 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獲取路由中的動態(tài)參數(shù)

// 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獲取 body 參數(shù)

// 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'     // }   } }
登錄后復制

返回響應數(shù)據(jù)

this.ctx.body返回響應數(shù)據(jù)

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>";   } }
登錄后復制

使用 mysql 數(shù)據(jù)庫

安裝 mysql 插件

npm i egg-mysql
登錄后復制

配置

// config/plugin.js exports.mysql = {   enable: true,   package: "egg-mysql", }; // config/config.${env}.js exports.mysql = {   // 單數(shù)據(jù)庫信息配置   client: {     // host     host: "localhost",     // 端口號     port: "3306",     // 用戶名     user: "root",     // 密碼     password: "root",     // 數(shù)據(jù)庫名     database: "database",   }, };
登錄后復制

使用

// 查找id 為 ${uid}的用戶 await this.app.mysql.get("users", { id: uid });
登錄后復制

處理業(yè)務邏輯

業(yè)務邏輯建議放在app/service中,當然也包括數(shù)據(jù)庫的操作

// app/service/user.js const Service = require("egg").Service; class UserService extends Service {   async find(uid) {     // 假如 我們拿到用戶 id 從數(shù)據(jù)庫獲取用戶詳細信息     const user = await this.app.mysql.get("users", { id: uid });     return user;   } } module.exports = UserService;
登錄后復制

之后可以通過 Controller 獲取 Service 層拿到的數(shù)據(jù)。

// 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;   } }
登錄后復制

基本 CURD 語句可以使用 create、get、select、update、delete 方法

直接執(zhí)行 sql 語句可使用 query 方法

事務的控制

egg.js 官網(wǎng):https://www.eggjs.org/zh-CN/
登錄后復制

推薦學習:《node.js視頻教程》

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
国产毛片精品久久| 久久网站免费观看| 日本不卡视频在线| 影视先锋久久| 精品日韩视频| 日韩精品免费一区二区在线观看 | 亚洲天堂av资源在线观看| 欧美性感美女一区二区| 欧美特黄一级大片| 国产一区久久| 美国三级日本三级久久99| 亚洲97av| 国产精品天堂蜜av在线播放| 国产乱人伦丫前精品视频 | 精品免费视频| 国产精品手机在线播放| 欧美成a人片免费观看久久五月天| 福利一区和二区| 欧美日韩一二三四| 黑丝一区二区三区| 日韩欧美中文字幕在线视频| 国产精品v一区二区三区| 国产一区二区三区天码| 99久久99久久精品国产片果冰| 亚洲激情av| 日韩激情一二三区| 精品国产不卡| 欧美特黄视频| 欧美日韩亚洲一区三区| 国产精品成人一区二区不卡| 成人影视亚洲图片在线| 性欧美videohd高精| 午夜日韩av| 日韩精品亚洲专区| 美腿丝袜亚洲一区| 欧美精品高清| 日韩中文字幕不卡| 国产精品毛片久久久| 国产精品精品| 午夜一级久久| 国产精选久久| 日韩在线观看不卡| 亚洲视频播放| 国产精品mv在线观看| 亚洲网站视频| 午夜精品影视国产一区在线麻豆| 国产精品久久久久久模特| 久久久久久黄| 欧美久久久网站| 99视频精品全国免费| 日韩精品免费视频人成| 韩国精品主播一区二区在线观看| 综合激情网站| 亚洲风情在线资源| 91成人在线精品视频| 久久蜜桃资源一区二区老牛| 中文字幕亚洲影视| 日韩欧美一区二区三区免费观看| 一本一道久久a久久| 91欧美日韩| 亚洲一级大片| 日韩在线综合| 久久国内精品自在自线400部| 在线一区视频观看| 国产亚洲高清一区| 五月天久久网站| 精品少妇av| 亚洲资源网站| 99久久九九| 美女高潮久久久| 蜜臀久久久99精品久久久久久| 岛国av免费在线观看| 日韩精品一区二区三区中文| 久久亚洲在线| 精品九九在线| 欧美在线黄色| 91精品综合| 老色鬼精品视频在线观看播放| 日韩专区欧美专区| 丝袜美腿诱惑一区二区三区| 国产精品网在线观看| 免费日韩av| 久久青草久久| 国内不卡的一区二区三区中文字幕| 亚洲欧洲美洲国产香蕉| 精品一区在线| bbw在线视频| 国产乱人伦精品一区| 蜜臀av一区二区三区| 亚洲香蕉网站| 欧美日韩免费观看视频| 欧美啪啪一区| 热久久国产精品| 红桃视频国产精品| 日本少妇一区| 国产欧洲在线| 国产一区二区三区黄网站| 国产亚洲欧美日韩在线观看一区二区| 羞羞答答国产精品www一本 | 欧美国产91| 日韩国产一区二区| 成人国产综合| 美女视频免费精品| 国产精品夜夜夜| 视频一区视频二区中文字幕| 国产精品99一区二区| 蜜桃精品在线| 精品视频97| 模特精品在线| 噜噜噜躁狠狠躁狠狠精品视频| 日韩电影免费在线观看| 欧美天堂一区二区| 国产欧美亚洲精品a| 日韩精品成人在线观看| 免费观看久久av| 激情五月综合| 99久久精品网| 亚洲二区在线| 亚洲天堂免费| 亚洲久久视频| 亚洲精品九九| 国产一区二区三区天码| 91精品韩国| 免费观看在线综合色| 香蕉视频亚洲一级| 日韩av一区二区在线影视| 久久免费黄色| 亚洲精品日本| 色婷婷成人网| 91精品丝袜国产高跟在线| 婷婷成人av| 欧美一区免费| 国产精品成人一区二区网站软件| 国产剧情在线观看一区| 婷婷五月色综合香五月| 日韩福利视频导航| 国产日产精品_国产精品毛片 | 国产日韩1区| 免费精品一区| 91亚洲人成网污www| 欧美黄色网页| 国产一区精品福利| 国产精品不卡| 亚洲高清久久| 免费观看日韩电影| 欧美日韩亚洲国产精品| 国产精品99精品一区二区三区∴ | 好看的亚洲午夜视频在线| 免费日韩av| 欧美日韩一区自拍| 精品一区视频| 欧美日韩中文一区二区| 日韩视频一区| 91精品福利观看| 麻豆国产欧美日韩综合精品二区| 中文字幕在线官网| 欧美在线综合| 国产精品久久乐| 久久久国产亚洲精品| 男人操女人的视频在线观看欧美 | 日韩欧美中文在线观看| 精品视频在线观看网站| 久久亚洲成人| 日韩精品福利一区二区三区| 精品午夜久久| 日韩亚洲精品在线| 国产伦一区二区三区| 亚洲美女久久精品| 视频一区在线播放| 精品视频黄色| 久久都是精品| 久久精品国产成人一区二区三区| 亚洲第一精品影视| 欧美视频二区| 欧美中文一区二区| 欧美亚洲福利| 免费视频国产一区| 国产精品嫩草影院在线看| 日韩三区在线| 日韩欧美2区| 午夜在线一区| 久久国产精品久久久久久电车 | 最新亚洲激情| 久久九九精品| 欧美成人高清| 日韩精品一卡二卡三卡四卡无卡 | 国产日产精品_国产精品毛片| 日韩影院精彩在线| 日韩欧美自拍| 伊人久久一区| 日韩三级精品| 欧美va天堂| 国产亚洲电影| 日韩视频一区| 国产精品.xx视频.xxtv| 欧美91精品| 日韩欧美激情电影| 成人羞羞在线观看网站| 欧美日韩一区二区高清| 亚洲国内精品|