我有两个文件,其中一个是app.js,另一个是api.js。 在第一个文件中我有:
app.use(setHeader)
app.use(api.routes())
app.use(api.allowedMethods())
在 api.js 中我有:
import KoaRouter from 'koa-router';
const api = new Router();
//Validatekey
const validateKey = async (ctx, next) => {
const { authorization } = ctx.request.headers;
console.log(authorization);
if (authorization !== ctx.state.authorizationHeader) {
return ctx.throw(401);
}
await next();
}
api.get('/pets', validateKey, pets.list);
当我运行该项目时,抛出错误消息:路由器未定义。
但是如果我将两个文件写在一起,应用程序就会正常运行。
有人知道这个问题吗?
我已经解决了 var Router = require('koa-router')
最佳答案
目前 Nodejs 中还没有实现导入,最新的 ES2015(ES6) 也不支持导入。 您将需要使用像 Babel 这样的转译器来在代码中使用 import。我建议避免转译器,因为它会导致生产性能问题,只需使用 require 即可。
关于node.js - KOA2 中未定义路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40769699/