2

2 つのファイルがあります。1 つは app.js で、もう 1 つは 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);

プロジェクトを実行すると、次のエラー メッセージが表示されます: Router is not defined.

しかし、両方のファイルを一緒に書き込むと、アプリケーションはうまくいきます。

誰でも問題を知っていますか?

var Router = require('koa-router')で解決しました

4

2 に答える 2

2

インポートは現在 nodejs に実装されておらず、最新の ES2015 (ES6) でもサポートされていません。コードでインポートを使用するには、Babel のようなトランスパイラーを使用する必要があります。トランスパイラーは本番環境でパフォーマンスの問題を引き起こすため、require を使用するだけで機能するため、避けることをお勧めします。

于 2017-09-08T14:35:40.860 に答える