@k3000/express
v0.1.7
Published
``` import {Base, Express} from "@k3000/express";
Readme
封装express
import {Base, Express} from "@k3000/express";
const app = new Express({
port: 8080,
callback: () => console.log('running...')
})
class Test extends Base {
cache = 0
// 当提供3个参数的函数实现时则加入认证队列
AUTH(req, res, next) {
console.log(req.headers)
next()
}
get path() {
return super.path + '/test'
}
}
class Admin extends Test {
id = 0
AUTH(req, res, next) {
console.log(req.cookies)
console.log(req.query)
next();
}
async GET(req, res) {
this.render(this.view) // new Express({root: 'wwwroot'}) 与 root 参数有关
// 服务器端渲染,每次访问都会重新计算渲染,会增加服务器负担,建议权限控制较高使用不频繁的场景使用
// this.render(this.view, {})
// /<script server>[^]*?<\/script>/g 支持服务器端脚本 <script server>write(`<b>hello~${data.qwe}</b>`)</script>
// /{\/[^]*?}/g 支持服务器端引入 {/com/head.html}
}
async POST(req, res) {
await this.queue() // 必须和this.pass()成对使用
const data = await (`id: ${this.id++}`)
this.pass() // 必须和this.queue()成对使用
return data
}
get path() {
return super.path + '/admin'
}
}
app.use((req, res, next) => res.setHeader('Access-Control-Allow-Origin', '*') && next())
app.use(Admin)
// app.use(new Admin())
// app.load('./lib')