Вы можете сделать следующее:
const app = {};
module.exports = app;
app.moduleToExport = condition ? module1 : module2;
Когда вы назначаете объект module.exports
, вы создаете новый объект на лету. При таком подходе вы также создаете новый объект, но сохраняете ссылку на него в приложении переменных, чтобы вы могли условно экспортировать модуль или выполнить любую другую логику, которая вам нужна.