我有两个文件,其中一个是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 回答
导入当前未在nodejs中实现,最新的ES2015(ES6)也不支持 . 您将需要使用像Babel这样的转换器来使用代码中的import . 我建议避免使用转换器,因为它会导致 生产环境 中的性能问题,只需要使用require即可 .
显然Nodejs不支持
import
/export
语法,使用require
将解决您的问题 .但是,可以通过使用
babel
变换器使import
在Node.js上运行 .请查看以下答案以获取更多信息https://stackoverflow.com/a/37601577/972240