快来玩玩便捷、高效的Demo练习场
生活随笔
收集整理的這篇文章主要介紹了
快来玩玩便捷、高效的Demo练习场
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Demo練習場
Vonajs 提供了一個 Demo 練習場的功能,允許我們非常方便、快捷的對代碼做測試,對想法做驗證
步驟
簡而言之,Demo練習場的使用只需兩步:第一步寫代碼,第二步執行終端命令。具體說明如下:
1. 新建demo文件
我們需要在項目中新建源碼文件:src/backend/demo/index.ts。當前,我們并不需要手工創建此文件,而是執行以下命令,自動創建該文件:
$ npm run demo
2. 編寫測試代碼
在文件demo/index.ts中,我們寫入測試代碼:
export async function main(app: VonaApplication, _argv: IArgv) {
+ console.log('server listen: ', app.config.server.listen);
}
3. 執行demo文件
由于demo文件已經存在,再次執行同樣的終端命令,就會自動加載此demo文件,并運行
$ npm run demo
更多例子
1. 模擬請求的上下文環境ctx
export async function main(app: VonaApplication, _argv: IArgv) {
+ await app.bean.executor.mockCtx(async () => {
+ // do something in ctx
+ });
}
- app.bean: 全局ioc容器
- app.bean.executor: 從ioc容器獲取全局bean實例
executor。executor提供一組工具方法,其中,mockCtx用于創建一個模擬的上下文環境ctx
2. 訪問Api
比如我們訪問首頁 Api:
export async function main(app: VonaApplication, _argv: IArgv) {
await app.bean.executor.mockCtx(async () => {
+ const homeBody = await app.bean.executor.performAction('get', '//');
+ console.log(homeBody); // Hello Vona!
});
}
- performAction用于直接訪問Api,method參數和path參數都支持類型提示
我們也可以模擬中文的 ctx,然后訪問首頁 Api:
export async function main(app: VonaApplication, _argv: IArgv) {
await app.bean.executor.mockCtx(async () => {
+ const homeBody = await app.bean.executor.performAction('get', '//');
+ console.log(homeBody); // 您好, Vona!
+ }, { locale: 'zh-cn' });
}
3. 模擬登錄和退出登錄
我們也可以模擬登錄,然后執行業務邏輯,最后再退出登錄
export async function main(app: VonaApplication, _argv: IArgv) {
await app.bean.executor.mockCtx(async () => {
+ // signin as user: admin
+ await app.bean.passport.signinMock();
+ // do something
+ // signout
+ await app.bean.passport.signout();
});
}
結語
Vonajs已開源:https://github.com/vonajs/vona
Vonajs作者正在B站直播撰寫技術文檔,工作日每晚8:30,歡迎圍觀:濮水代碼
開發一個功能完備的Nodejs框架固然費時費力,但是撰寫技術文檔更加費盡心思。寫文檔的過程同時也是再次梳理思路的過程,即便是圍觀,也有利于加深對框架設計的理解,探索不一樣的架構設計路徑。目前已完成部分文檔,更多精彩正在逐步展開,歡迎參與
總結
以上是生活随笔為你收集整理的快来玩玩便捷、高效的Demo练习场的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有这样的奶粉呢?
- 下一篇: 医生,我从怀孕开始hcg48小时增长一直