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')

4

2 回答 2

2

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

于 2017-09-08T14:35:40.860 回答
0

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

但是,可以import使用babel转换器在 Node.js 上工作。

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

于 2016-11-24T02:48:22.383 回答