通过Node js中的某种条件导出模块函数

时间:2019-01-12 19:53:05

标签: javascript node.js ecmascript-6 module

module.exports ={
    "test1": {  
        moduleno: 1,
        modulename: 'test1'
    },

"test2": {  
    moduleno: 2,
    modulename: 'test2'
}

};

我需要帮助,我该怎么办?如果为condition1:仅导出test1模块,否则导出test2模块。

2 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

const app = {};
module.exports = app;

app.moduleToExport = condition ? module1 : module2;

当您将对象分配给module.exports时,您正在动态创建一个新对象。使用这种方法,您还可以创建一个新对象,但在变量应用程序中保留对该对象的引用,以便可以有条件地导出模块或执行所需的任何其他逻辑。

答案 1 :(得分:0)

让我建议不要这样做:

   const app = {}

    app.test1 = {
        moduleno: 1,
        modulename: 'test1'
    }

    app.test2 = {
        moduleno: 2,
        modulename: 'test2'
    }

   //implement your condition in order to determine wich module to export
   //for example:
   const moduleToExport = 1 //Actually it may depends on some process 
   condition or another general condition
   const exported = moduleToExport === 1 ? app.test1:app.test2
   module.exports  = exported

我希望这对您有帮助