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