2017-10-03 7 views
0

こんにちは、私はnode6のアプリケーションのミドルウェアを作成するためにES6の構文に従おうとしています。nodejs expressでクラスを関数として呼び出せません

index.js

export default class Middleware { 
    constructor() { 
    //do nothing 
    } 

    fun1 = (req, res, next) => { 
    console.log("------------------------------------"); 
    console.log("AAa"); 
    console.log("------------------------------------"); 
    next(); 
    }; 

    fun2 = (req, res, next) => { 
    console.log("------------------------------------"); 
    console.log("AAa"); 
    console.log("------------------------------------"); 
    next(); 
    }; 
} 

app.js

import Middleware from ".index"; 
app.use(Middleware); 

私は、エラーが関数としてクラスを呼び出すことはできません取得しています。誰が何が間違っているのか分かりますか?

+0

? –

+0

'app.use(ミドルウェア)を削除すると、'それが動作します –

+0

これはエクスプレスフレームワークを使用していますか? –

答えて

4

エクスプレスapp#useは、次のシグネチャを持つ関数を期待:

function(req, res, next) { 

それを動作させるために、あなたは何をする必要があります。

  1. Middlewareクラスのインスタンスを作成します。
  2. クラス内の各関数のミドルウェアを登録します。

例:行はエラーになります

let middleware = new Middleware(); 

app.use(middleware.func1); 
app.use(middleware.func2); 
関連する問題