koa + typeorm (三)

問(wèn)題來(lái)了,我數(shù)據(jù)庫(kù)也連接成功了,那么我該如何跟koa結(jié)合起來(lái)呢,繼續(xù)查資料吧。

安裝 koa

npm install koa 安裝koa.
src/index.ts 內(nèi)容修改一下。

import {createConnection} from 'typeorm';
import ormConfig from '../ormconfig.js';
import {Photo} from "./entity/photo";
const Koa = require('koa');
const router = require('koa-router')();


createConnection(ormConfig).then(async connection => {
    const app = new Koa();
    router.get('/', async ctx => {
        ctx.body = 'Hello World';
    })
    app.use(router.routes());
    app.use(router.allowedMethods());
    app.listen(3000);
}).catch(err => {
    console.log(err)
})

妥了,數(shù)據(jù)庫(kù)也連接了,koa也運(yùn)行了~ 但但但總覺(jué)得這玩意不該這么玩啊。 雖然,說(shuō)不出,但總感覺(jué)不是那么爽~~~~

學(xué)習(xí)一下 koa

cookie

  1. ctx.cookies.set('key', 'value', [options])
    設(shè)置cookie,并且可以對(duì)cookie做一些配置,至于配置可以寫(xiě)哪些東西,用到的時(shí)候再講吧。
  2. ctx.cookies.get('key')
    獲取cookie
    唯一需要注意的是cookie存儲(chǔ)中文的時(shí)候會(huì)報(bào)錯(cuò),解決辦法是:
// 編碼
let name = Buffer.from('小花', 'utf-8').toString('base64');
// 解碼
let str = Buffer.from(name, 'base64').toString('utf-8');
// str = '小花'
  1. 了解一下session, 我選的是koa-session, 具體可查看官網(wǎng), 很簡(jiǎn)單,就不多說(shuō)了。 如果遇到問(wèn)題,可以留言。

  2. 獲取url參數(shù),是以Query String Parameters形式傳參的。

    image.png

得到的結(jié)果是:


image.png
image.png

總結(jié): 無(wú)論什么方式的請(qǐng)求,只要是這種傳參方式,都可以拿到。

需要注意的是: 當(dāng)參數(shù)中含有中文時(shí),需要使用decodeURIComponent去解碼。

  1. 獲取postbody形式的傳參。
    npm install koa-bodyparser
    使用的話也很簡(jiǎn)單。
1. const bodyparser = require('koa-bodyparser') // 引入
2. app.use(bodyparser()) // 使用
image.png

完活~~

注意: ctx.request.body 可以解析 x-www-form-urlencoded 以及 json格式的傳參方式。至于form-data的傳參方式,后面用到的時(shí)候再講。

現(xiàn)在我忽然想到一個(gè)問(wèn)題,難道就這么久擼完了?這項(xiàng)目結(jié)構(gòu)呢? 接下來(lái),才是最精彩的。我忽然又開(kāi)始偷懶了~ 有點(diǎn)怕麻煩,想省事寫(xiě)了。。。。 啪啪啪啪啪, 加油擼完啊。 還是督促一下自己,把自己的學(xué)習(xí)過(guò)程慢慢寫(xiě)吧,雖然過(guò)程很坎坷,但或許還能幫上其他的小伙伴呢~~~ 對(duì)吧?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容