gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

egg.js是node么

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

egg.js是node么

本教程操作環境:Windows10系統、egg.js v2.0.0版、Dell G3電腦。

egg.js是node么?

是。

了解 egg.js

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

Egg 按照約定進行開發,奉行『約定優于配置』,團隊協作成本低

安裝

npm init egg npm i npm 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.js class 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/2 class 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><h1>Hello</h1></html>";   } }
登錄后復制

使用 mysql 數據庫

安裝 mysql 插件

npm i egg-mysql
登錄后復制

配置

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

使用

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

處理業務邏輯

業務邏輯建議放在app/service中,當然也包括數據庫的操作

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

之后可以通過 Controller 獲取 Service 層拿到的數據。

// 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 方法

直接執行 sql 語句可使用 query 方法

事務的控制

egg.js 官網:https://www.eggjs.org/zh-CN/
登錄后復制

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

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
www.中文字幕在线| 欧美网站免费观看| 在线观看免费黄网站| 黄网站欧美内射| 国产免费一区二区视频| gogogo高清免费观看在线视频| 浮妇高潮喷白浆视频| 国产a级片网站| 超碰成人免费在线| 久久精品国产精品亚洲色婷婷| 极品粉嫩国产18尤物| 欧美亚洲国产成人| 91精品91久久久中77777老牛| 高清欧美精品xxxxx| 奇米影视亚洲色图| www.xxx亚洲| 日韩不卡一二三| 日本精品免费视频| 欧美在线观看视频免费| 国产3p露脸普通话对白| 欧美污视频网站| 在线能看的av网站| 毛片av在线播放| 超碰网在线观看| 黄色a级三级三级三级| 欧美日韩不卡在线视频| 欧美 日韩精品| 香蕉视频xxxx| 自慰无码一区二区三区| 高清av免费看| 美女日批免费视频| 中文字幕亚洲影院| 欧美一级视频免费看| 天天视频天天爽| 男人添女人荫蒂免费视频| 91黄色小网站| 一本色道久久88亚洲精品综合| 欧美 日本 亚洲| 免费国产成人看片在线| 欧美三级一级片| 激情五月五月婷婷| 欧美成年人视频在线观看| 你真棒插曲来救救我在线观看| 性欧美videossex精品| 日韩国产一级片| 欧洲在线免费视频| 国产主播中文字幕| 欧美久久久久久久久久久久久| 欧美性受xxxxxx黑人xyx性爽| 国产九九九九九| 91免费网站视频| 国产aaaaa毛片| 亚洲国产精品久久久久爰色欲| 日韩不卡的av| 亚洲18在线看污www麻豆| 国产精品-区区久久久狼 | 少妇大叫太大太粗太爽了a片小说| 国产白丝袜美女久久久久| 狠狠干视频网站| 国产精品无码乱伦| 欧美日韩久久婷婷| 五月天丁香花婷婷| 亚洲av无日韩毛片久久| 老熟妇仑乱视频一区二区| 国产在线精品91| 日本wwwcom| 美女黄色免费看| 人妻无码一区二区三区四区| japanese在线视频| 国产精品视频一二三四区| 小泽玛利亚av在线| 日韩久久久久久久久久久久| 日韩中文字幕在线不卡| 中文字幕av导航| 肉大捧一出免费观看网站在线播放| а 天堂 在线| 国产精品无码电影在线观看 | 国模无码视频一区二区三区| www插插插无码视频网站| 日韩国产欧美亚洲| 久久婷婷国产91天堂综合精品| 九九九在线观看视频| 中文av一区二区三区| 偷拍盗摄高潮叫床对白清晰| 一二三在线视频| 亚洲精品蜜桃久久久久久| 亚洲 欧美 日韩 国产综合 在线| 国产午夜福利在线播放| 少妇人妻互换不带套| 涩涩网站在线看| 久久久久99精品成人片| 欧美色图色综合| 99中文字幕在线| 妞干网视频在线观看| 国内外成人激情视频| 日韩av片免费观看| 和岳每晚弄的高潮嗷嗷叫视频| www.中文字幕在线| 看欧美ab黄色大片视频免费| 视频一区二区视频| 国产精品沙发午睡系列| 交换做爰国语对白| 久草精品在线播放| 黑人巨茎大战欧美白妇| 农村妇女精品一二区| 成年在线观看视频| 日韩一级理论片| 免费av手机在线观看| 人人爽人人爽av| 天天碰免费视频| 少妇大叫太大太粗太爽了a片小说| 亚洲熟妇av日韩熟妇在线| av中文字幕网址| 黄在线观看网站| 蜜臀av色欲a片无码精品一区| www黄色在线| 久久久久久免费看| a级黄色片网站| 在线看的黄色网址| 欧美私人情侣网站| 久久久久久久久久网| 小说区视频区图片区| 波多野结衣xxxx| 免费观看日韩毛片| 蜜臀av无码一区二区三区| 最新中文字幕久久| 蜜桃福利午夜精品一区| 亚洲免费999| 中文字幕在线视频精品| 中文字幕永久有效| 激情 小说 亚洲 图片: 伦| www日韩视频| 黑人粗进入欧美aaaaa| 亚洲乱码中文字幕久久孕妇黑人| 91成人综合网| 波多野结衣av一区二区全免费观看| 日韩一区二区三区久久| 不卡的av中文字幕| www.99r| 日韩在线一区视频| 一级做a免费视频| 大地资源第二页在线观看高清版| 日本中文字幕二区| 亚洲色图欧美自拍| 蜜臀av.com| 亚洲精品蜜桃久久久久久| 日本xxxxxxxxxx75| 日韩亚洲在线视频| 91亚洲免费视频| 成人高清在线观看视频| 波多野结衣三级在线| 日韩久久久久久久久久久久| 男人添女荫道口图片| 欧美少妇性生活视频| 在线观看国产一级片| 精品少妇人妻av一区二区| 一卡二卡三卡视频| 哪个网站能看毛片| 99日在线视频| 亚洲国产成人精品无码区99| 国产精品无码人妻一区二区在线| caoporn超碰97| 成人黄色一级大片| 国产一区二区三区乱码| 成年网站在线免费观看| 亚洲最大天堂网| youjizz.com在线观看| 欧美黄色一级片视频| 男人的天堂成人| 午夜视频在线瓜伦| 欧美大黑帍在线播放| 亚洲综合在线网站| 日本a在线天堂| 欧美日韩精品区别| 久久久久免费精品| 妞干网视频在线观看| 亚洲福利精品视频| 国模无码视频一区二区三区| 性鲍视频在线观看| 丝袜老师办公室里做好紧好爽| 日韩av一二三四| 精品一区二区三区无码视频| 欧美三级午夜理伦三级富婆| 成年人深夜视频| 亚洲网中文字幕| 亚洲最大成人在线观看| a在线视频观看| 少妇一晚三次一区二区三区| 热久久久久久久久| 欧美日韩在线成人| 男人揉女人奶房视频60分| 视频区 图片区 小说区| 欧美第一页浮力影院| 国产老熟妇精品观看| 日本福利视频一区| 国产真人做爰毛片视频直播 | 中文字幕亚洲乱码| 国产成人精品无码播放| 国产精品无码av在线播放| 久久www视频|