我正在使用React Native,并且正在使用一个依赖项(Reactotron),该依赖项仅在调试版本中使用,不应在发行版本中存在。在阅读文档时,我发现了在Babel上消除死代码的方法。
let foo = baz;
if (__DEV__) {
foo = bar;
}
根据this的评论,由于__DEV__
将始终为false
,Babel将消除发行版本中的if块。但是它仍然对三元运算符有效吗?
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);