在React Native应用程序中添加节点模块isomorphic-fetch
(版本:^ 2.2.1)后,我收到错误Can't find variable: self
。
这里我附上了截图。
从位于node_modules>的文件中抛出错误isomorphic-fetch> fetch-npm-browserify.js
。
以下是该文件的代码。
// the whatwg-fetch polyfill installs the fetch() function
// on the global object (window or self)
//
// Return that as the export for use in Webpack, Browserify etc.
require('whatwg-fetch');
module.exports = self.fetch.bind(self);
答案 0 :(得分:6)
@Nirav Dangi,按新建fetch-npm-react-native.js的方式在我的项目里面没有起作用; 我这边处理方式,是直接修改,node_modules> isomorphic-fetch> fetch-npm-browserify.js文件的返回:
谷歌翻译: @Nirav Dangi,按照新方式fetch-npm-react-native.js在我的项目中没有工作;我在这里处理直接更改,node_modules>同构取> fetch-npm-browserify.js文件返回:
var globalObject = typeof self === "undefined" ? global : self;
module.exports = globalObject.fetch.bind(globalObject);
//module.exports = fetch;
答案 1 :(得分:2)
我已在此答案的帮助下解决了这个问题,https://github.com/matthew-andrews/isomorphic-fetch/pull/80
为导出React的React Native指定单独的入口点 Native的fetch()polyfill。
fetch-npm-react-native.js
的空文件。将此文件保留在node_modules > isomorphic-fetch
位置。module.exports = fetch;
添加到fetch-npm-react-native.js文件中。node_modules > isomorphic-fetch > package.json
。在package.json
文件中,添加"main": "fetch-npm-node.js",
代码行。npm install
当然,归功于Jou
答案 2 :(得分:0)
我遇到了同样的问题,其他解决方案对我不起作用。
我要做的是替换
import 'isomorphic-fetch'
与此:
import 'cross-fetch'
这基于以下内容: https://github.com/matthew-andrews/isomorphic-fetch/issues/125