(一)egg 基礎功能

2021-10-03 22:12:56 字數 3279 閱讀 5748

中介軟體路由

控制器服務

npm

install egg --type = ******

可選的骨架型別

****** - 簡單的egg應用程式骨架

empty - 空的egg應用程式骨架

plugin - egg plugin骨架

framework - egg framework骨架

用於配置 url 路由規則

用於解析使用者的輸入,處理後返回相應的結果

用於編寫業務邏輯層

用於編寫中介軟體

用於放置靜態資源

用於框架的擴充套件

`config/config..js`

用於編寫配置檔案

`config/plugin.js`

用於配置需要載入的外掛程式

`test/**`

用於單元測試

用於自定義啟動時的初始化工作

用於定時任務

用於放置模板檔案

用於放置領域模型

全域性應用物件,可以將一些全域性的方法和物件掛載到上面,

事件包含的宣告週期方法有:

生命週期方法

說明configdidload

配置檔案載入完成

configwillload

配置檔案即將載入,修改配置檔案的最終時機

didload

檔案載入完成

willready

外掛程式啟動完畢

didready

worker準備就緒

serverdidready

應用啟動完成

beforeclose

應用即將關閉

context是請求級別的物件,收到的使用者請求會例項化乙個context物件,該物件封裝了使用者的請求資訊,框架將所有的service掛載在context例項上。

獲取方式

module.

exports);

}獲取方式

helper:提供一些實用的utility函式,可以通過ctx.helper獲取請求的helper例項

可以通過框架擴充套件的形式自定義helper的方法。

logger: 包含以下幾種方法

logger.

debug()

; logger.

info()

; logger.

warn()

; logger.

error()

;

(1)寫法

const isjson =

require

('koa-is-json');

const zlib =

require

('zlib');

module.

exports

= options =>;}

;(2)配置

乙個中介軟體接收兩個引數:

(1)在應用中使用

module.exports =,}

;

(2)在框架和外掛程式中使用

不支援在config.default.js中配置

module.

exports

;module.

exports=(

)=>};

(3)在router中使用中介軟體

module.

exports);

get(

'/needgzip';}

;

框架和外掛程式載入的中介軟體會在應用層配置的中介軟體之前,框架默的中介軟體不可被應用層中介軟體覆蓋,若有同名會報錯。

module.exports =,}

;

module.exports =,}

;

router.

verb

('path-match'

;router.

verb

('router-name'

,'path-match'

;router.

verb

('path-match'

, middleware1,

...;

router.

verb

('router-name'

,'path-match'

, middleware1,

...;

(1)query

module.

exports

;exports.index =

async ctx =>`;

};// curl

(2)params

module.

exports

;exports.info =

async ctx =>, $

`;};

// curl

(3)複雜引數

module.

exports

;exports.detail =

async ctx =>`;

};// curl

(4)表單

module.

exports

;exports.post =

async ctx =>`;

};表單校驗

module.

exports

;const createrule =

, password:,}

;exports.create =

async ctx =>

;controller主要對使用者的請求引數進行處理(校驗和轉換),然後呼叫對應的service方法處理業務,得到業務結果後封裝並返回。

專案中的controller類繼承於egg.controller,有以下屬性掛在this上

service可以進行複雜的資料處理,比如資料庫資訊獲取後的規則計算,第三方服務資訊的呼叫等。

const service =

require

('egg'

).service;

class

userservice

extends

service

}module.exports = userservice;

sevice層提供的屬性

其中this.ctx包含以下屬性和方法

egg直接取req Egg伺服器基礎功能

1.框架約定目錄規則 1.5 config config.js 用於編寫配置檔案 1.6 config plugin.js 用於配置需要載入的外掛程式 2.內建物件 2.request response 可以在 context 的例項上獲取到當前請求的 request ctx.request 和 r...

一 基礎功能篇

面板模組功能 一 elements 在element中主要分兩塊大的部分 a html結構面板 b 操作dom樣式 結構 時間的顯示面板 1.在a中,每當你的滑鼠移動到任何乙個元素上,對應的html檢視中會給該元素藍色的背景。2.如果你單擊選中乙個元素,在a部分的底部,會顯示該元素在html結構中的...

SciPy 基礎功能

預設情況下,所有numpy函式都可以在scipy 命名空間 中使用。當匯入scipy時,不需要顯式地匯入numpy函式。numpy的主要物件是n次多維陣列ndarray,scipy構建在ndarray陣列之上,ndarray是儲存單一資料型別的多維陣列。在numpy中,維度稱為軸,座標軸的數量稱為秩...