日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。

發布時間:2023/12/13 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#基于webpack構建的?Koa2?restful?API?服務器腳手架 這是一個基于?Koa2?的輕量級?RESTful?API?Server?腳手架,支持?ES6,?支持使用TypeScript編寫。 GIT地址:https://github.com/Allenzihan/koa2-mysql-framework.git

此腳手架只安裝了一些配合koa2使用的必要插件,不僅提供RESTful?API實現,同時也集成了對靜態資源的處理,支持跨越,代理轉發請求等基礎功能。基本上您僅需要關注您的業務開發即可。

腳手架可以根據不同的環境配置不同的信息運行價值,支持開發,測試,生產環境的不同參數配置。

?#數據庫選型MySQL

當然你也可以根據需要配置其他的關系型數據庫,可擴展?sequelize.js?作為?PostgreSQL,?MySQL,?MariaDB,?SQLite,?MSSQL?關系型數據庫的?ORM,本框架使用MVC分成模式實現,事例上通過SQL去實現對數據庫的增、刪、查、改操作。

?##?目錄結構說明

```bash

├──?README.md ├──?.babelrc????????????????????#?Babel?配置文件 ├──?.gitignore??????????????????#?Git?忽略文件列表 ├──?package.json????????????????#?描述文件 ├──?process.config.js???????????#?pm2?部署示例文件 ├──?bin?????????????????????????#?bin入口目錄 │???└──?www?????????????????????#?啟動文件入口 ├──?.vscode?????????????????????#?VS?CODE?調式目錄 │???└──?launch.json?????????????#?調試配置 ├──?config??????????????????????#?配置文件 │???├──?db.config.js????????????#?數據庫配置文件 │???├──?logger.config.js????????#?日志配置文件 │???├──?proxy.config.js?????????#?代理配置文件 │???└──?session.config.js???????#?session配置文件 ├──?src?????????????????????????#?源代碼目錄,編譯后目標源代碼位于?dist?目錄 │???├──?app.js??????????????????#?入口文件 │???├──?files???????????????????#?存放文件目錄 │???├──?middleware??????????????#?中間件目錄 │???????└──?errorRouteCatch.js??#?示例插件?-??router異常處理 │???├──?utils???????????????????#?工具類目錄 │???├──?controllers?????????????#?控制器 │???????└──?usersController.js??#?示例users控制器 │???├──?models??????????????????#?模型層 │???├──?routes??????????????????#?路由層 │?????????└──?users.js??????????#?示例users路由 │???└──?services????????????????#?服務層 │?????????└──?usersService.js???#?示例users服務層 ├──?public??????????????????????#?靜態資源目錄 └──?logs????????????????????????#?日志目錄 ```

?

##?開發使用說明

?

```bash git?clone?https://github.com/Allenzihan/koa2-mysql-framework.git

?

cd?mv?koa2-mysql-framework npm?install npm?run?dev

?

訪問:?http://127.0.0.1:3000/home ``` ##?開發調試說明

?

支持VSCODE調試?Node.js功能,已經配置好,?啟動VSCODE?IDE?上的Debug按鈕即可調試



##?開發環境 npm?run?dev

?

##?PM2?部署說明 提供了?PM2?部署?RESTful?API?Server?的示例配置,位于“process.config.js”文件中。

?

process.config.js?文件提供了兩套環境的配置,分別是測試環境和生產環境的配置

?

啟動測試環境: npm?run?uat

?

如果啟動失敗,使用pm2?直接啟動 pm2?start?process.config.js?--only?uat

?

啟動生產環境: npm?run?prod

?

如果啟動失敗,使用pm2?直接啟動 pm2?start?process.config.js?--only?prod

?

以上使用pm2啟動,需提前安裝好pm2模塊 PM2?配合?Docker?部署說明:?http://pm2.keymetrics.io/docs/usage/docker-pm2-nodejs/

?

###?關于?Token?使用的特別說明(JWT?身份認證)

?

app.use(jwt({? secret:?publicKey.toString() }).unless({ path:?[ /^\/users\/login/, /^\/home/, /^\/assets/ ]? }))

?

在?path?里面的開頭路徑則不進行身份認證,否則都將進行??鑒權。

?

前端處理方案:

?

```javascript import?axios?from?'axios' import?{?getToken?}?from?'./tool'

?

const?DevBaseUrl?=?'http://127.0.0.1:8080' const?ProdBashUrl?=?'https://xxx.xxx'

?

let?config?=?{ baseURL:?process.env.NODE_ENV?!==?'production'???DevBaseUrl?:?ProdBashUrl?//?配置API接口地址 }

?

let?token?=?getToken() if?(token)?{ config.headers?=?{?Authorization:?'Bearer?'?+?token?} }

?

let?request?=?axios.create(config)

?

//?http?request?攔截器 axios.interceptors.request.use( config?=>?{ if?(window)?{ let?token?=?getToken() if?(token)?{ //?判斷是否存在token,如果存在的話,則每個http?header都加上token config.headers.Authorization?=?`Bearer?${token}` } } //?if?(config.method?===?'get')?{ //???config.url?=?config.url?+?'timestamp='?+?Date.now().toString() //?} return?config }, err?=>?{ return?Promise.reject(err) } )

?

export?default?request ```

?

`tool.js`文件

?

```javascript //?寫?cookies export?let?setCookie?=?function?setCookie(name,?value,?time)?{ if?(time)?{ let?strsec?=?getsec(time) let?exp?=?new?Date() exp.setTime(exp.getTime()?+?parseInt(strsec)) document.cookie?= name?+?'='?+?escape(value)?+?';expires='?+?exp.toGMTString() }?else?{ document.cookie?=?name?+?'='?+?escape(value) } }

?

//?讀?cookies export?let?getCookie?=?function(name)?{ let?reg?=?new?RegExp('(^|?)'?+?name?+?'=([^;]*)(;|$)') let?arr?=?document.cookie.match(reg) return?arr???unescape(arr[2])?:?null }

?

//?刪?cookies export?let?delCookie?=?function(name)?{ var?exp?=?new?Date() exp.setTime(exp.getTime()?-?1) var?cval?=?getCookie(name) if?(cval?!=?null)?{ document.cookie?=?name?+?'='?+?cval?+?';expires='?+?exp.toGMTString() } }

?

//?獲取Token export?let?getToken?=?function()?{ if?(window.sessionStorage?&&?window.sessionStorage.Bearer)?{ return?window.sessionStorage.Bearer }?else?if?(window.localStorage?&&?window.localStorage.Bearer)?{ return?window.localStorage.Bearer }?else?if?(window.document.cookie)?{ return?getCookie('Bearer') } }

?

//?設置Token export?let?setToken?=?function(token,?rememberTime)?{ if?(window.sessionStorage)?{ window.sessionStorage.Bearer?=?token }

?

if?((rememberTime?&&?window.localStorage)?||?!window.sessionStorage)?{ window.localStorage.Bearer?=?token }

?

if?( window.document.cookie?&& !window.sessionStorage?&& !window.localStorage )?{ if?(rememberTime)?{ setCookie('Bearer',?token,?rememberTime) }?else?{ setCookie('Bearer',?token) } } }

?

//?刪除Token export?let?delToken?=?function()?{ if?(window.sessionStorage?&&?window.sessionStorage.Bearer)?{ window.sessionStorage.removeItem('Bearer') }

?

if?(window.localStorage?&&?window.localStorage.Bearer)?{ window.localStorage.removeItem('Bearer') }

?

if?(window.document.cookie)?{ delCookie('Bearer') } } ```

?

大概原理: 通過某個?API(通常是登錄?API)獲取成功后的?Token,存于本地,然后每次請求的時候在?Header?帶上`Authorization:?"Bearer?"?+?token`,通常情況下無需擔心本地?Token?被破解。 GIT地址:? https://github.com/Allenzihan/koa2-mysql-framework.git

?

轉載于:https://www.cnblogs.com/allen-tech/p/11382443.html

總結

以上是生活随笔為你收集整理的最好用的koa2+mysql的RESTful API脚手架,mvc架构,支持node调试,pm2部署。的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级特黄高清 | 欧美激情一区二区三区 | 999伊人| 日日草夜夜草 | 男人天堂社区 | 91在线无精精品入口 | 99激情| 黄色大片免费看 | 精品国产精品三级精品av网址 | 大地资源中文在线观看免费版 | 在线免费观看国产精品 | 激情伦成人综合小说 | 久草免费在线播放 | 日批免费在线观看 | 成人免费xxxxx在线观看 | 人妻换人妻仑乱 | 极品尤物一区二区 | 三级视频黄色 | 天堂av资源网 | 一区二区三区免费观看视频 | chinese麻豆新拍video | 欲求不满在线小早川怜子 | 男操女视频在线观看 | 夜色视频网 | 黄色片网站大全 | 成人国产视频在线观看 | 日韩免费一区 | 久久久国 | 超碰蜜桃 | 日韩av不卡电影 | 精产国品一二三产品蜜桃 | 人人人插 | 亚洲黄色在线免费观看 | 中文字幕乱码在线人视频 | 欧美大片免费高清观看 | 国家队动漫免费观看在线观看晨光 | 黑人精品欧美一区二区蜜桃 | 亚洲免费观看 | 国产精品入口日韩视频大尺度 | 咪咪色图 | 伊人伊人伊人 | 久草网在线观看 | 日韩成人精品一区二区三区 | 欧美国产一二三区 | 免费欧美视频 | 可以直接观看的av | 天天综合天天色 | 日韩在线中文字幕 | 欧美gv在线 | 欧美视频免费在线 | 欧美精品网站 | 自拍偷拍亚洲欧美 | 一区二区三区www | 亚洲午夜精品久久久久久人妖 | 99久久久久久久久久 | 打屁股视频网站 | 天天干天天摸天天操 | 美国福利片 | av资源中文在线 | 午夜影音 | 牛夜精品久久久久久久99黑人 | 亚洲一卡二卡三卡 | 国产美女www爽爽爽视频 | 老司机午夜免费精品视频 | 亚洲一区在线视频观看 | 亚洲va国产va天堂va久久 | 国产激情久久久久久熟女老人av | 国产三区四区视频 | 国产三级一区二区 | 国产ts丝袜人妖系列视频 | 国产日韩欧美另类 | 色性网| 久久人人添人人爽添人人片 | 天天舔天天摸 | 不卡av网站 | 在线看国产 | 日本成人在线视频网站 | 少妇饥渴难耐 | 各种含道具高h调教1v1男男 | 日日骚av一区二区 | 国产高清免费 | 亚洲精品乱码久久久久久蜜桃图片 | 91视频福利 | 秋霞av一区二区三区 | 少妇av一区二区 | 自拍偷拍激情视频 | 欧美拍拍| 在线播放第一页 | 亚洲精品国产精品国自产网站按摩 | 69精品一区二区三区 | 久久精品男人 | 日本五十肥熟交尾 | 丁香久久婷婷 | 国产原创视频在线 | 两性囗交做爰视频 | 亚洲一区二区观看 | 国产精品美女久久久久图片 | 欧美 日韩 视频 | 人人超碰97 |