Все require()
добавят в окончательную сборку файлы c, независимо от того, находятся ли они в истинных или ложных условиях. Я бы сказал, что обходной путь может быть таким, что вместо этого вы используете StyleSheet.create()
и делаете там CSS dynamici c. Вы должны иметь возможность логически управлять любым свойством CSS и даже выводить пустой объект StyleSheet в конце, таким образом, не включая ничего не связанного в сборке.
From https://facebook.github.io:
const styles = StyleSheet.create({
container: {
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#d6d7da',
},
title: {
fontSize: 19,
fontWeight: 'bold',
},
activeTitle: {
color: 'red',
},
});
В вашем случае это могло бы выглядеть так:
const isIncluded = true;
const styles = isIncluded ? StyleSheet.create({
container: {
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#d6d7da',
},
title: {
fontSize: 19,
fontWeight: 'bold',
},
activeTitle: {
color: 'red',
},
}) : null;
РЕДАКТИРОВАТЬ: Хотя для большинства случаев это будет так, как указывал @Keith, ".. .это не совсем верно, например .. если вы сделали, если (false) {require ("что-то");} компилятор будет знать, что это мертвый код, и исключит его ... ". Другими словами, в случаях, когда компилятор будет уверен, что этот код никогда не будет достигнут, require()
не будет включен в сборку