云函数使用 koa 和 express

使用 serverless-http 插件转换请求

Koa

// index.js
'use strict'
const serverless = require('serverless-http')
const Koa = require('koa')
const app = new Koa()

app.use(async (ctx) => {
  ctx.body = 'Hello World Koa'
})

// 执行方法
exports.main_handler = serverless(app)

express

// index.js
'use strict'
const serverless = require('serverless-http')
const express= require('express')
const app = express()

// 腾讯云函数Api触发器默认不会触发
app.get('/', (req, res) =>{
 res.send('Hello World! express : /')
})

// 腾讯云函数Api触发器默认不会触发
app.get('/user', (req, res) =>{
 res.send('Hello World! express : /')
})

// 使用带云函数名称的路由 可以触发
// test 函数名称
app.get('/test', (req, res) =>{
 res.send('Hello World! express : /')
})


// 执行方法
exports.main_handler = serverless(app)

关于腾讯云函数发布后找不着路由问题

解决 /云函数名 之外路由找不着问题

// 执行方法

exports.main_handler = async (event, context, callback) => {
    // 删除函数名称
    if(event['path'] == '/'+ context.function_name)
        event['path'] = '/'
    else
        event['path'] = event['path'].replace('/'+ context.function_name,'') 
    return await serverless(app)(event,context)
};
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章