экспортировать функцию модуля по некоторому условию в узле - PullRequest
0 голосов
/ 12 января 2019
module.exports ={
    "test1": {  
        moduleno: 1,
        modulename: 'test1'
    },

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

};

Ребята, мне нужна помощь, как мне сделать следующее? если условие1: экспортировать только модуль test1, иначе экспортировать модуль test2.

Ответы [ 2 ]

0 голосов
/ 16 января 2019

Позвольте мне предложить сделать это:

   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

Надеюсь, это поможет

0 голосов
/ 13 января 2019

Вы можете сделать следующее:

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

app.moduleToExport = condition ? module1 : module2;

Когда вы назначаете объект module.exports, вы создаете новый объект на лету. При таком подходе вы также создаете новый объект, но сохраняете ссылку на него в приложении переменных, чтобы вы могли условно экспортировать модуль или выполнить любую другую логику, которая вам нужна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...