¿Hay alguna manera en nodejs de ejecutar el método correspondiente por el nombre de la solicitud?

En Java, generalmente podemos usar el nombre para cargar dinámicamente la clase deseada y crear una instancia y ejecutar el método correspondiente, de modo que podamos ejecutar diferentes clases y métodos a través de diferentes solicitudes de los clientes, entonces, ¿nodejs tiene esta función? Lo probaré afuera. El siguiente es un middleware personalizado para koa. También podemos usar otros métodos para obtener parámetros del cliente. Este no es el punto clave. La clave está en cómo cargamos dinámicamente los js que queramos y ejecutamos los correspondientes a través de los parámetros que nos solicita el cliente.método.
1. Al ejecutar el método por nombre, primero se convierte el nombre en un objeto, por ejemplo: el nombre recibido es show, necesitamos usar eval(name) para convertir la cadena show en un objeto y luego ejecutar el método fun().

2. Cómo hacer referencia al archivo js correspondiente por nombre, esto es a través de require, require puede cargar el archivo js correspondiente a través de la ruta de la cadena y el nombre del archivo 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;

Función eval(): eval() puede aceptar una cadena str como parámetro y ejecutar este parámetro como código de script

Supongo que te gusta

Origin blog.csdn.net/weixin_36557877/article/details/129296864
Recomendado
Clasificación