首页 > 解决方案 > 我想在 FeathersJS 的服务类构造函数中使用从自定义中间件获取的值

问题描述

我的 feathersjs 项目中有以下自定义中间件。

const { envConfig } = require('url-config');

module.exports.envCfg = function (options = {}) {
    return async function () {
        const config = await envConfig('mongodb://localhost:27017', 'dbname');
    }
}

我想config在服务构造函数之一中使用我的中间件。我也有 1 个方法,require('url-config')它返回相同的值,但由于我内部的代码envConfig是异步执行的,并且必须在应用程序启动期间调用它,我无法让它投入使用。

标签: node.jsexpressfeathersjs

解决方案


一种可能的方法是将其添加到您的app实例中。你可以复制羽毛是如何做的app.configure()

module.exports = async function(){
    app = this;

    app.envConfig = await envConfig('mongodb://localhost:27017', 'dbname');
}

推荐阅读