undefined is not an object (evaluating 'RNFetchBlob.DocumentDir')

参考https://github.com/wkh237/react-native-fetch-blob/issues/51 自己做了一下总结:

这个报错位置在react-native-fetch-blob下fs.js:

DocumentDir :  RNFetchBlob.DocumentDir 

首先看一下最外层package.json下是否有“react-native-fetch-blob”该依赖包

如果没有

就执行下面命令行:

$ npm install --save [email protected]0.10.5

如果react-native-fetch-blob版本较低,移除原有包
$ rnpm uninstall react-native-fetch-blob重新按上面安装
react-native版本< 0.29 $ rnpm linkreact-native版本 0.29.2+
$ react-native link

执行$ rnpm link或rnpm uninstall时可能提示:

参考 https://github.com/rnpm/rnpm 执行命令行:

$ npm install rnpm -g

再执行:

$ rnpm link

如果出现以下提示:

可参考react-native-fetch-blob\README.md文件:

react-native版本< 0.29

$ RNFB_ANDROID_PERMISSIONS=true rnpm linkreact-native版本 0.29.2+
$ RNFB_ANDROID_PERMISSIONS=true react-native link自动添加权限。或者用以下手动添加:

对于5.0及以下的设备,你必须手动添加以下权限:

<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />                                               <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 对Android 6.0 (API level 23),请求权限参照
https://facebook.github.io/react-native/docs/permissionsandroid.html

如果使用`Android Download Manager`需添加

<intent-filter>            <action android:name="android.intent.action.MAIN" />            <category android:name="android.intent.category.LAUNCHER" />            <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>                          </intent-filter>

连接成功后,在terminal会出现下面提示

在settings.gradle中添加

1 include ‘:react-native-fetch-blob‘
2 project(‘:react-native-fetch-blob‘).projectDir = new File(rootProject.projectDir, ‘../node_modules/react-native-fetch-blob/android‘)

如果node_modules在工作空间根目录,../省略

在build.gradle

1 dependencies {
2 compile project(‘:react-native-fetch-blob‘)
3
4 }

在MainApplication或Activity添加包

import com.RNFetchBlob.RNFetchBlobPackage;

```高版本下
1 @Override
2     protected List<ReactPackage> getPackages() {
3       return Arrays.<ReactPackage>asList(
4          new RNFetchBlobPackage(),
5          new MainReactPackage()
6       );
7     }

低版本下

1 mReactRootView = new ReactRootView(this);
2 mReactInstanceManager = ReactInstanceManager.builder()
3 .addPackage(new RNFetchBlobPackage())
4 .build();
5 mReactRootView.startReactApplication(mReactInstanceManager, "Task", null);
6 setContentView(mReactRootView);
执行下面命令或直接运行app
$ react-native run-android

undefined is not an object (evaluating 'RNFetchBlob.DocumentDir')

时间: 2024-08-01 22:34:16

undefined is not an object (evaluating 'RNFetchBlob.DocumentDir')的相关文章

使用react-navigation时报错:undefined is not an object (evaluating rngesturehandlermodule.direction)

问题: 使用react-navigation时报错:undefined is not an object (evaluating rngesturehandlermodule.direction). 0.安装react-navigation npm i react-navigation 1.安装react-native-gesture-handler npm i react-native-gesture-handler 2.引入原生库 react-native link 3.react-nati

出现TypeError: &#39;undefined&#39; is not a function (evaluating &#39;$&#39;)错误

今天周天,要加班.来公司后,遇到一个问题,如题, TypeError: 'undefined' is not a function (evaluating '$') 然后遇到这个问题,属于js问题,根据以往的经验,首先要看js语法有没有错误,查看了下,没有错误. 最后,就要考虑是不是没有导入jquery包,发现确实没有导入:<script src="${webAppUrl}/common/scripts/jquery.easyui.min.js" type="text/

React Native报错undefined is not an object(evaluating ‘_reactnative.propTypes’)解决办法

原程序是这样写的,然后一直出现错误,找不到PropTypes, import React,{Component } from 'react'; import { View, Text, Image, TouchableWithoutFeedback, PropTypes, StyleSheet } from 'react-native'; 替换成下面的代码就可以成功解决错误.. import React,{Component,PropTypes} from 'react'; import { V

react-native开发经验

# **RN开发经验** ## 一.环境配置关于环境配置,前辈已有完整的总结:http://tvrn.devops.letv.com/docs/Environment.html **IDE准备:** [AndroidStudio](https://developer.android.com/studio/index.html),[VisualStudioCode](https://code.visualstudio.com/) 如何打造现代化RN开发环境:http://tvrn.devops.l

react-native http请求之后navigator导航跳转

琢磨react-native有一段时间了.对于我来说,它的确是前端开发工作者的福音,因为我可以利用它来写app的代码,而且基本可以一套代码,多个平台使用. 早就想写一篇随笔记录一下react native的学习历程了,可是最近在navigator(导航,可以理解为‘页面’跳转)这里遇到了一个比较棘手的问题,所以耽搁了两天,中途甚至产生过放弃的念头,还一度去看了ionic以及QT的demo,思前想后,经过对比,发现还是react-native比较自己.刚好今天也将困扰已久额问题解决了,心情大好啊.

Creat-React-Native-App 之StackNavigator之踩坑记录

Creat-React-Native-App简称CRNA. 在我开始入门RN时fb已经推出和Expo联合开发用于快速创建React Native应用的工具: Create-React-Native-App.以下是在CRNA开发起步时导航器跳转页面遇到的问题记录. 参考资料:React Native中文网 React Navigation 根据教程指导,写了最简单的导航条调用示例: import React from 'react'; import { StyleSheet, Text, Butt

Yslow on Nodejs server

1. 目的:用yslow测试某个页面的性能 2. 需求:返回yslow测试后的数据,显示在页面 方法一. node server 官方提供的yslow-server-3.1.2.js  太老,和expressjs4.x不兼容,各种跑不通... 方法二. phantomjs 步骤: 1. 安装phantomjs, brew phantomjs 2. 测试: phantomjs yslow.js --info basic http://www.baidu.com 3. 问题来了,报错: TypeEr

Rreact Native 常见错误总结

1.invariant violation:expected a component class,got[object object]        创建自定义组件首字母要大写,否则会报错.       2.Module 0 is not a registered callable module. 将gradle升级成最新版本(cd android 进入android目录执行:sudo ./gradlew clean) 或者通过android studio工具升级. 3.android.view

1000多个项目中的十大JavaScript错误以及如何避免

通过统计数据库中的1000多个项目,我们发现在 JavaScript 中最常出现的错误有10个.下面会向大家介绍这些错误发生的原因以及如何防止. 对于这些错误发生的次数,我们是通过收集的数据统计得出的.Rollbar 会收集每个项目中的所有错误,并总结每个错误发生的次数,然后通过各个错误的特征进行分组. 下图是发生次数最多的10大 JavaScript 错误: 下面开始深入探讨每个错误发生的情况,以便确定导致错误发生的原因以及如何避免. 1.   Uncaught TypeError: Cann