摘要:編寫在文件夾下添加,文件這里用于獲取數(shù)據(jù)庫中的數(shù)據(jù)添加路由確保數(shù)據(jù)庫能連接成功后,便可以啟動(dòng)項(xiàng)目。本文只是輔助介紹快速搭建一個(gè)基本的項(xiàng)目,具體內(nèi)容請(qǐng)參考若有疑問或錯(cuò)誤,請(qǐng)留言,謝謝
2018-08,本文適用于對(duì)egg有興趣想要了解的同學(xué)完整項(xiàng)目代碼:https://github.com/NameHewei/node-egg
項(xiàng)目主要文件目錄結(jié)構(gòu)
|—— app |—— controller |—— cook.js |—— model |—— cook.js |—— router.js |—— config |—— config.default.js |—— plugin.js |—— package.json |—— README.md安裝
官網(wǎng): https://eggjs.org/zh-cn/
npm i egg-init -g
egg-init egg-example --type=simple
cd egg-example
npm i
啟動(dòng)項(xiàng)目
npm run dev
項(xiàng)目本文主要是以搭建一個(gè)連接mongoDB的后端,以提供api接口
連接數(shù)據(jù)庫1.引入數(shù)據(jù)庫插件,在plugin.js文件中添加如下代碼
exports.mongoose = { enable: true, package: "egg-mongoose", };
2.在config.default.js中添加如下配置
config.mongoose = { client: { url: "mongodb://127.0.0.1:27017/database-name", }, }編寫model
在model文件下添加,cook.js 文件
module.exports = app => { const mongoose = app.mongoose; const Schema = mongoose.Schema; const CookeSchema = new Schema({ _id: { type: Schema.Types.ObjectId }, name: { type: String }, img: { type: String }, step: { type: String } }, { versionKey: false }); return mongoose.model("cooks", CookeSchema); }
注意如果使用mongoDB中的_id時(shí)type的類型,以及如何去掉__v 版本鎖字段。
編寫controller在controller文件夾下添加,cook.js文件
const Controller = require("egg").Controller; class HomeController extends Controller { async list() { this.ctx.response.body = { result: await this.ctx.model.Cook.find({}, {"_id": 0}) }; } async listOne() { const { id } = this.ctx.params this.ctx.body = { result: await this.ctx.model.Cook.find({ "_id": id }, {"_id": 0}) }; } } module.exports = HomeController;
這里用于獲取數(shù)據(jù)庫中的數(shù)據(jù)
添加路由module.exports = app => { const { router, controller } = app; router.get("/cook/", controller.cook.list); router.get("/cook/:id", controller.cook.listOne); };
確保數(shù)據(jù)庫能連接成功后,便可以啟動(dòng)項(xiàng)目。
本文只是輔助介紹快速搭建一個(gè)基本的egg項(xiàng)目,具體內(nèi)容請(qǐng)參考:https://eggjs.org/
若有疑問或錯(cuò)誤,請(qǐng)留言,謝謝!Github blog issues
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19407.html
摘要:本文基于,平臺(tái)完整項(xiàng)目代碼安裝安裝官網(wǎng)下載注意環(huán)境變量是否配置成功安裝為了安裝順利,請(qǐng)備好梯子安裝過程中注意以下報(bào)錯(cuò)信息解決辦法下載對(duì)應(yīng)版本的文件表示版本表示位下載后在文件目錄下執(zhí)行文件名創(chuàng)建項(xiàng)目創(chuàng)建創(chuàng)建在項(xiàng)目跟目錄執(zhí)行配置文件 本文基于python 3.7.0,win10平臺(tái); 2018-08完整項(xiàng)目代碼:https://github.com/NameHewei/python-scr...
摘要:不幸的是,在軟件包管理十分混亂,至少歷史上十分混亂。的最大改進(jìn)是將函數(shù)的參數(shù)單獨(dú)放到一個(gè)的文件中這些成為包的元數(shù)據(jù)?;诘陌姹咎?hào)管理。的版本推導(dǎo)這里重點(diǎn)說明一下基于的版本號(hào)管理這個(gè)功能。開發(fā)版本號(hào)的形式如下。 為什么寫這個(gè)系列 OpenStack是目前我所知的最大最復(fù)雜的基于Python項(xiàng)目。整個(gè)OpenStack項(xiàng)目包含了數(shù)十個(gè)主要的子項(xiàng)目,每個(gè)子項(xiàng)目所用到的庫也不盡相同。因此,對(duì)于...
摘要:受上海杰克大大委托,于今晚分享一下本人的自學(xué)歷程主題機(jī)械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程。所以我就這半年個(gè)人自學(xué)修行以來的一些感觸和心得方面進(jìn)行分享。背景介紹內(nèi)容前工作狀況機(jī)械離職經(jīng)歷心態(tài)轉(zhuǎn)變目標(biāo)確定大家好,我是,一枚前端萌新。 機(jī)械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程 標(biāo)簽: 轉(zhuǎn)行 自學(xué) 原創(chuàng):Michael.Lu 277133779@qq .com 轉(zhuǎn)載注明出處 這是初級(jí)群(西安...
摘要:受上海杰克大大委托,于今晚分享一下本人的自學(xué)歷程主題機(jī)械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程。所以我就這半年個(gè)人自學(xué)修行以來的一些感觸和心得方面進(jìn)行分享。背景介紹內(nèi)容前工作狀況機(jī)械離職經(jīng)歷心態(tài)轉(zhuǎn)變目標(biāo)確定大家好,我是,一枚前端萌新。 機(jī)械轉(zhuǎn)行前端,半年零基礎(chǔ)自學(xué)的心路歷程 標(biāo)簽: 轉(zhuǎn)行 自學(xué) 原創(chuàng):Michael.Lu 277133779@qq .com 轉(zhuǎn)載注明出處 這是初級(jí)群(西安...
閱讀 2041·2023-04-26 00:16
閱讀 3492·2021-11-15 11:38
閱讀 3184·2019-08-30 12:50
閱讀 3193·2019-08-29 13:59
閱讀 764·2019-08-29 13:54
閱讀 2517·2019-08-29 13:42
閱讀 3319·2019-08-26 11:45
閱讀 2199·2019-08-26 11:36