首页 文章

路由器未在KOA2中定义

提问于
浏览
2

我有两个文件,其中一个是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') 解决了

2 回答

  • 0

    导入当前未在nodejs中实现,最新的ES2015(ES6)也不支持 . 您将需要使用像Babel这样的转换器来使用代码中的import . 我建议避免使用转换器,因为它会导致 生产环境 中的性能问题,只需要使用require即可 .

  • 2

    显然Nodejs不支持 import / export 语法,使用 require 将解决您的问题 .

    但是,可以通过使用 babel 变换器使 import 在Node.js上运行 .

    请查看以下答案以获取更多信息https://stackoverflow.com/a/37601577/972240

相关问题