首页 > 解决方案 > 反应原生网络,__DEV__ 未定义

问题描述

如果要在 RN 和 RN-web 之间共享代码,__DEV__也应该在这两个平台中提供。

但是我不能使用添加DEVconst __DEV__ = process.env.NODE_ENV !== 'production'; new webpack.DefinePlugin({__DEV__})

我可以设置window.__DEV__得很好,但 RN 代码使用__DEV__

我也试过添加module:metro-react-native-babel-preset

我见过React Native - __DEV__ 没有定义

/* global __DEV__ */有效,但希望有一种方法可以在不修改所有使用的源的情况下修复它__DEV__

标签: reactjsreact-nativereact-native-web

解决方案


在你的webpack.config.js,添加这个:

  plugins: [
    // `process.env.NODE_ENV === 'production'` must be `true` for production
    // builds to eliminate development checks and reduce build size. You may
    // wish to include additional optimizations.
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development'),
      __DEV__: process.env.NODE_ENV !== 'production' || true,
    }),
  ],

https://medium.com/@alexander.forselius/experiment-combining-native-web-ios-android-and-macos-development-in-rectnative-part-1-ecd5887e9cfc


推荐阅读