Я работаю с React Native и использую зависимость (Reactotron), которая используется только в отладочных сборках и не должна существовать в релизных сборках.Читая документы, я узнал об удалении мертвого кода на Babel.
let foo = baz;
if (__DEV__) {
foo = bar;
}
В соответствии с этим комментарием, Babel устранит блок if при сборке релиза, так как __DEV__
будетвсегда быть false
.Но это все еще работает для троичных операторов?
const foo = __DEV__ ? bar : baz;
Я не могу найти какие-либо ресурсы, которые так или иначе говорят о троичных операторах.Будет ли Babel упрощать троичное условие в следующих версиях сборки?
const foo = baz;
Использование - следующий блок кода.Я думал об удалении оператора if с помощью троичного оператора.Но я не уверен, что это предотвратит удаление Reactotron из релизной сборки.
let enhancer = applyMiddleware(...middlewares);
// Add Reactotron enhancer if debug mode
if (__DEV__) {
const Reactotron = require('@flashmobile:config/reactotron').default;
enhancer = compose(applyMiddleware(...middlewares), Reactotron.createEnhancer());
}
const store: Store = createStore(reducers, INITIAL_STATE, enhancer);