我正在使用 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);