Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 有没有一种方法可以防止调试代码进入React Native中的版本构建?_Node.js_React Native - Fatal编程技术网

Node.js 有没有一种方法可以防止调试代码进入React Native中的版本构建?

Node.js 有没有一种方法可以防止调试代码进入React Native中的版本构建?,node.js,react-native,Node.js,React Native,我想在我的应用程序中使用一些调试代码,但我不希望这些代码出现在发布版本中。我正在对此使用以下检查: if(__DEV__) { this.setState({username: 'Niel', password: 'Test'}); } 如果我生成我的发布版本。检查是否仍在生成中,还是将删除死代码?如果没有,有没有办法做到这一点?DEV用于检测代码是否正在开发或发布中运行。因此,如果您希望代码的一部分不在发行版中执行,您可以使用以下方式: if(_DEV_) {

我想在我的应用程序中使用一些调试代码,但我不希望这些代码出现在发布版本中。我正在对此使用以下检查:

    if(__DEV__) {
        this.setState({username: 'Niel', password: 'Test'});
    }
如果我生成我的发布版本。检查是否仍在生成中,还是将删除死代码?如果没有,有没有办法做到这一点?

DEV用于检测代码是否正在开发或发布中运行。因此,如果您希望代码的一部分不在发行版中执行,您可以使用以下方式:

if(_DEV_) {
//code is executed only in development
}else{
//code is executed only in release mode
}
为了确保一切正常运行,您可以通过
react native run android--variant=release


祝你好运

当然,代码不会出现在产品发布包中


您只需检查生产捆绑包,就可以消除这些死代码。

完全没有抓住我的重点。我已经理解了这段代码的作用,我想问的是,这段代码是否仍将打包在发布版本中。我不希望在我的发布版本中有剩余的开发人员凭据。如果我没有正确地获取您的信息,请原谅!如果我现在理解正确,那么您想知道您的代码是否可以从apk反编译并被其他人看到。。我认为这是可能的。看看这个帖子:没问题!我想知道如果我使用DEV布尔值,React Native是否足够聪明,可以将凭据从APK中删除。@Niel不,你不应该在js中使用这些凭据如果它们像那样敏感,你应该从服务器上获取,它不会像你想的那样出现在APK中,js捆绑文件将包含您的react原生代码。2020更新:这绝对不正确。Metro或Babel中并没有从开发环境内部删除“死代码”。您可以通过构建用于生产的应用程序并检查生成的
main.jsbundle
文件来轻松确认这一点。您的代码仍将在jsbundle中可用,但它不会执行,因为在生产构建中DEV是错误的。