В проекте, над которым я работаю, используются разные целевые платформы, для работы которых требуется специальный код. В настоящее время у нас есть файл настроек, который записывается во время компиляции, и этот файл устанавливает некоторые переменные, по которым мы запускаем определенный код или нет.
Однако весь специфичный для платформы код присутствует во всех сборках, и теперьнам нужно найти способ удаления любого кода с другой платформы, поэтому мы сохраним пакет меньше.
Я подумал о чем-то похожем на директивы прагмы в C / C ++, предположим, что это может выглядеть так:
// Code runs fully locally for debugging:
/* REMOVE FOR ANDROID { */
/* REMOVE FOR IOS { */
if (target === 'ios') {
/* } */
doThis();
/* REMOVE FOR IOS { */
}
/* } */
/* } */
/* REMOVE FOR IOS { */
/* REMOVE FOR ANDROID { */
if (target === 'android') {
/* } */
doThat();
/* REMOVE FOR ANDROID { */
}
/* } */
/* } */
Таким образом, конечный результат будет:
doThis();
или
doThat();
Есть ли что-нибудь подобное, что может решить эту проблему для нас? Где я могу начать искать?