将 koa 插件添加到 eggjs 框架
Add koa plugin to eggjs framework
我要补充 koa-validate to eggjs.
来自 koa-validate 的代码 readme:
var koa = require('koa');
var app = koa();
var router = require('koa-router')();
require('koa-validate')(app);
app.use(require('koa-body')({multipart:true , formidable:{keepExtensions:true}}));
app.use(router.routes()).use(router.allowedMethods());
所以我尝试按照 eggjs docs:
中的描述将其添加为中间件
// app/middleware/validate.js
const validate = require('koa-validate');
module.exports = (options, app) => {
validate(app);
return function session(ctx, next) {
return next();
}
}
但我真正想要的是 加载插件 'on boot' 并让应用程序对象添加验证插件。你知道我应该把它放在哪里吗?
谢谢!
好的,我自己解决了:
为生命周期钩子添加/app.js并添加以下代码:
const validate = require('koa-validate');
class AppBootHook {
constructor(app) {
this.app = app;
validate(app);
}
}
module.exports = AppBootHook;
而不是记录的 this.checkQuery() 函数可以这样使用。ctx.checkQuery.
也许这会对其他人有所帮助。
也许不是答案,但对于 egg js 验证,那里已经有一个官方插件:https://github.com/eggjs/egg-validate
真正的答案:您可以参考示例存储库:https://github.com/Jeff-Tian/egg-useragent。这是一个将 koa-useragent 添加到 eggjs 框架的真实示例。核心代码为:
import {Application} from "egg"
import koaUserAgent from 'koa-useragent'
export default (app: Application) => {
app.use(koaUserAgent)
};
我要补充 koa-validate to eggjs.
来自 koa-validate 的代码 readme:
var koa = require('koa');
var app = koa();
var router = require('koa-router')();
require('koa-validate')(app);
app.use(require('koa-body')({multipart:true , formidable:{keepExtensions:true}}));
app.use(router.routes()).use(router.allowedMethods());
所以我尝试按照 eggjs docs:
中的描述将其添加为中间件// app/middleware/validate.js
const validate = require('koa-validate');
module.exports = (options, app) => {
validate(app);
return function session(ctx, next) {
return next();
}
}
但我真正想要的是 加载插件 'on boot' 并让应用程序对象添加验证插件。你知道我应该把它放在哪里吗?
谢谢!
好的,我自己解决了:
为生命周期钩子添加/app.js并添加以下代码:
const validate = require('koa-validate');
class AppBootHook {
constructor(app) {
this.app = app;
validate(app);
}
}
module.exports = AppBootHook;
而不是记录的 this.checkQuery() 函数可以这样使用。ctx.checkQuery.
也许这会对其他人有所帮助。
也许不是答案,但对于 egg js 验证,那里已经有一个官方插件:https://github.com/eggjs/egg-validate
真正的答案:您可以参考示例存储库:https://github.com/Jeff-Tian/egg-useragent。这是一个将 koa-useragent 添加到 eggjs 框架的真实示例。核心代码为:
import {Application} from "egg"
import koaUserAgent from 'koa-useragent'
export default (app: Application) => {
app.use(koaUserAgent)
};