リクエストの名前によって対応するメソッドを実行するnodejsの方法はありますか

Javaでは通常、名前を使用して目的のクラスを動的にロードし、対応するメソッドをインスタンス化して実行できるため、顧客からのさまざまなリクエストを通じてさまざまなクラスやメソッドを実行できます。nodejsにはこの機能がありますか?テストしてみます。外。以下は koa のカスタム ミドルウェアです。他のメソッドを使用してクライアント パラメータを取得することもできます。これは重要な点ではありません。重要なのは、必要な js を動的にロードし、要求されたパラメータを通じて対応する js を実行する方法にあります。クライアントのメソッド。
1. 名前でメソッドを実行すると、最初に名前がオブジェクトに変換されます。たとえば、受信した名前は show です。eval(name) を使用して文字列 show をオブジェクトに変換し、その後 fun() メソッドを実行する必要があります。

2. 対応する js ファイルを名前で参照する方法。これは require を使用します。require は、文字列のパスと js ファイルの名前を通じて対応する js ファイルをロードできます。

const myMiddleWare = async(ctx,next) => {
    
    
    console.log(ctx.request.query.name);
    
    
    let name = ctx.request.query.name;
    console.log(name+"=====22");
    let fun = eval(name);
    
    fun("這是一個方法");
    ctx.body = "這是一個中間件測試";

    const path = '../test/One';
    const show1 = require(path);
    console.log("============================");
    show1();
    await next();
}
const showName = ()=>{
    
    
    console.log("=====這是一個");
}
module.exports = showName;

eval() 関数: eval() は文字列 str をパラメータとして受け入れ、このパラメータをスクリプト コードとして実行できます。

おすすめ

転載: blog.csdn.net/weixin_36557877/article/details/129296864