在 react-native.config.js 中检测开发环境

Posted

技术标签:

【中文标题】在 react-native.config.js 中检测开发环境【英文标题】:Detect development environment in react-native.config.js 【发布时间】:2020-11-07 22:34:23 【问题描述】:

我想在react-native.config.js 中访问__DEV__,这样我就可以管理一些在开发和生产环境中链接的本机库,例如下面的示例:

const VECTOR_ICONS_FONTS_PATH =
  './node_modules/react-native-vector-icons/Fonts';
const VECTOR_FONTS = ['MaterialCommunityIcons.ttf'];

module.exports = 
  assets: ['./src/assets/fonts/nop/nop.ttf'],
  dependencies: 
    'react-native-vector-icons': 
      platforms: 
        ios: null,
        android: null,
      ,
      assets: VECTOR_FONTS.map((font) => VECTOR_ICONS_FONTS_PATH + '/' + font),
    ,
    'react-native-flipper': 
      platforms: 
        ios: null,
        android: __DEV__ ? undefined : null,
      ,
    ,
  ,
;

但如果我这样做,我会收到以下错误:

$ react-native run-android
error Unrecognized command "run-android".
info Run "react-native --help" to see a list of all available commands.
error Command failed with exit code 1.

【问题讨论】:

尝试npm run android如果错误相同则可能是由于node_modules,尝试删除node_modules和package-lock.json,然后执行npm install并重试您的命令 我没有使用 npm。 @shubhamjha,这不是解决方案。 那你用什么?你能发布你的 package.json 文件吗? 创建两个单独的文件stagingproduction。然后编写一个脚本,根据您传递的参数复制其中一个文件,然后覆盖您的主 config 文件。这就是我正在做的事情,如果您有更好的解决方案,请告诉我。 【参考方案1】:

你使用的是什么版本的 Nodejs 和 NPM?

当项目未正确初始化时,有时会发生这种情况。 不妨试试以下方法:

    如果不是 LTS,则更新 NodeJs/NPM 删除node_modules目录 运行npm install or yarn install 运行react-native init 运行react-native run-android

(react-native run-android is unrecognized 的重复)

【讨论】:

以上是关于在 react-native.config.js 中检测开发环境的主要内容,如果未能解决你的问题,请参考以下文章

React-Native 更改 iOS 和 Android 文件夹的默认位置

分配的变量引用在哪里,在堆栈中还是在堆中?

NOIP 2015 & SDOI 2016 Round1 & CTSC 2016 & SDOI2016 Round2游记

秋的潇洒在啥?在啥在啥?

上传的数据在云端的怎么查看,保存在啥位置?

在 React 应用程序中在哪里转换数据 - 在 Express 中还是在前端使用 React?