2016-05-31 3 views
2

После добавления узла узла isomorphic-fetch (версия:^2.2.1) в приложении React Native появляется сообщение об ошибке Can't find variable: self.
Здесь я приложил скриншот.React Native Error - Невозможно найти переменную: self

enter image description here

Ошибка генерируется из файла, расположенного по адресу node_modules> изоморфными-выборки>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); 

ответ

1

Я установил эту проблему с помощью этого ответа
https://github.com/matthew-andrews/isomorphic-fetch/pull/80

Укажите отдельную точку входа для React Native, что экспорт Реагировать -х выборки() polyfill Native.


  1. Создайте пустой файл с именем fetch-npm-react-native.js. Оставьте этот файл на node_modules > isomorphic-fetch.
  2. Добавьте эту строку кода module.exports = fetch; в файл fetch-npm-react-native.js.
  3. Перейти к файлу node_modules > isomorphic-fetch > package.json. В файле package.json добавьте строку кода "main": "fetch-npm-node.js",.
  4. Открыть терминал, каталог приложений GoTo и написать npm install
  5. Обновить приложение и здесь вы идете ...


Ofcourse заслуга Jou

5

@Nirav Данги, 按 新建 выборки -npm-react-native.js 的 方式 在 我 的 项目 里面 没有 起作用; 我 这边 处理 处理, 是 直接 修改, node_modules> isomorphic-fetch> fetch-npm-browserify.js 文件 的 返回:

Google Translate: @Nirav Dangi, в соответствии с новым способом fetch-npm-react-native.js в моем проекте, который не работает; Я здесь, чтобы иметь дело с непосредственными изменениями, node_modules> изоморфными-выборки> выборки-NPM-browserify.js файл Назад:

var globalObject = typeof self === "undefined" ? global : self; 
module.exports = globalObject.fetch.bind(globalObject); 
//module.exports = fetch; 
+0

Я не достаточно хорошо с китайским языком. До сих пор я понял ваш код, он должен работать. Кроме того, если вы можете видеть в моем ответе, я только что обновил его и добавил # 4 'npm install'. –

Смежные вопросы