在博览会上,需要模块“取”,抛出异常:的ReferenceError:找不到变量:自

问题描述 投票:3回答:4

我已经搜索在不同的可能的答案,但没有找到任何合适的解决此特定错误。

我刚才提到的问题的标题确切的错误字符串。当我在fetch应用程序安装ReactNative NPM模块此错误开始出现。出现此错误只是在时间应用启动/开发过程中加载我的手机上。安装fetch之前,我的应用程序是正确加载在手机上。在Windows的命令行没有这帮助我解决这个问题这样的错误,它只是显示构建成功。

我使用ExpoReactNative应用开发。请在这方面协助解决问题。进一步的细节可以在下面的附加屏幕中可以看出(示出堆栈跟踪):

Expo error on app load

的package.json

{
    "name": "my-new-project",
    "main": "node_modules/expo/AppEntry.js",
    "private": true,
    "scripts": {
        "start": "expo start",
        "android": "expo start --android",
        "ios": "expo start --ios",
        "eject": "expo eject",
        "test": "node ./node_modules/jest/bin/jest.js --watchAll"
    },
    "jest": {
        "preset": "jest-expo"
    },
    "dependencies": {
        "@expo/samples": "2.1.1",
        "expo": "29.0.0",
        "fetch": "^1.1.0",
        "react": "16.3.1",
        "react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",
        "react-navigation": "^2.9.3"
    },
    "devDependencies": {
        "jest-expo": "29.0.0"
    }
}

这是一个很奇怪的问题,当我卸载fetch并尝试使用例如任何其他库axios,仍然显示参照相同的错误(抓取模块相关的)。我已经重新启动我的笔记本电脑的机器,并在移动重启Expo应用也是如此。

react-native fetch expo npm-scripts
4个回答
2
投票

它看起来像问题是由whatwg-fetch的新版本产生。该解决方案,这对我的作品是明确将旧版本:

npm i [email protected] yarn add [email protected]

here液中取出


1
投票

在我的身边,我每次关机触发的错误,并重新启动电脑(我开发在Ubuntu 16.04)。

我用了一个旧的答案(2016),它完全解决了该问题:

我说:

global.self = global;

进入主js文件。

所有的一切都恢复正常。

qazxsw POI是在qazxsw POI(最新版)


0
投票

我想取1.1.0不能很好地工作在本地做出反应,因为阵营本地使用JS核心的NodeJS没有。我更喜欢你使用的库expo-cli或内置“取”的阵营原生(2.2.4)。

axios

https://facebook.github.io/react-native/docs/network.html

要么

npm install axios --save

-1
投票

我已经想通了,基本上它是不是// Want to use async/await? Add the `async` keyword to your outer function/method. async function getUser() { try { const response = await axios.get('/user?ID=12345'); console.log(response); } catch (error) { console.error(error); } } 既不故宫const axios = require('axios'); // Make a request for a user with a given ID axios.get('/user?ID=12345') .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .then(function () { // always executed }); // Optionally the request above could also be done as axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .then(function () { // always executed }); 组件的问题。设置项目后,基本上我跑npm该消息已出现在CLI当我尝试运行fetchnpm install expo-cli。在这个时候有新版本可用expo start,并且是在npm start参考问题是中老年v30.x.x版本,但不是在self

安装expo后,将其不匹配,以我现有的项目博览会的配置和安装的文件,所以我重新安装一次该项目,加载并安装最新版本图书馆和coppied项目文件进去。

呯!该应用程序运行,没有任何错误这一次。

© www.soinside.com 2019 - 2024. All rights reserved.