Node.js 在中间件expressjs/nodejs中传递参数

Node.js 在中间件expressjs/nodejs中传递参数,node.js,express,Node.js,Express,我在nodeJS项目中工作,我想在中间件中传递param,以便在代码中进行验证 例如,我创建的中间件如下所示 'use strict'; // eslint-disable-next-line no-unused-vars import BadRequest from '../../../errors/BadRequest'; // eslint-disable-next-line no-unused-vars import ResponseFormatter from '../../../ut

我在nodeJS项目中工作,我想在中间件中传递param,以便在代码中进行验证

例如,我创建的中间件如下所示

'use strict';
// eslint-disable-next-line no-unused-vars
import BadRequest from '../../../errors/BadRequest';
// eslint-disable-next-line no-unused-vars
import ResponseFormatter from '../../../util/ResponseFormatter';

export default function middlewareWithParam (options) {
    return function (req, res, next) {
        // Implement the middleware function based on the options object
        
        return next();
        //ResponseFormatter.error(new BadRequest('03'), req, res);
    };
}
现在,我希望在控制器类中使用该中间件,以便通过在每个端点传递不同的值,中间件可以验证请求

例如

但我得到了一个错误

'middlewares': [(0, _middlewareWithParam.middlewareWithParam)()],
                                                                   ^

TypeError: (0 , _middlewareWithParam.middlewareWithParam) is not a function

没有必要对其进行分解。拆下卷曲支架。改变

import { middlewareWithParam } from '../middlewares/validators/Role/middlewareWithParam';

看看

编辑:

或者做类似的事情来定义它

function middlewareWithParam(options) {
    return function(req, res, next) {
            // return next();
    };
}

module.exports = {
    middlewareWithParam
}
或者删除默认值

export function middlewareWithParam(options) {
    return function(req, res, next) {
            // return next();
    };
}
function middlewareWithParam(options) {
    return function(req, res, next) {
            // return next();
    };
}

module.exports = {
    middlewareWithParam
}
export function middlewareWithParam(options) {
    return function(req, res, next) {
            // return next();
    };
}