Sendbird SDK не работает с React Native

Я следую руководству sendbird по созданию приложения чата с помощью react-native и получаю следующую ошибку, когда пытаюсь импортировать SDK sendbird:

Unable to resolve module http from .../SendbirdSample/node_modules/sendbird/SendBird.min.js: 
Unable to find this module in its module map or any of the node_modules/http and its parent directories

Я удалил папку node_modules и снова запустил npm install, очистил кеш npm и очистил часы watchman, но не смог это исправить.

Есть мысли по этому вопросу?

обновление: добавление кода

main.js

import React from 'react';
import {
  StyleSheet,
  Navigator
} from 'react-native';

var Login = require('./components/login');
var Channels = require('./components/channels');

var ROUTES = {
  login: Login,
  channels: Channels
};

module.exports = React.createClass({
 renderScene: function(route, navigator) {
  var Component = ROUTES[route.name];
  return <Component route={route} navigator={navigator} />;
 },
 render: function() {
  return (
    <Navigator
      style = { styles.container }
      initialRoute={ {name:'login'} }
      renderScene={this.renderScene }
      configureScene={ () => { return Navigator.SceneConfigs.FloatFromRight; } } />
  );
}});

логин.js

import React from 'react';

import {
  StyleSheet,
  Navigator
} from 'react-native';

var Login = require('./components/login');
var Channels = require('./components/channels');

var ROUTES = {
  login: Login,
  channels: Channels
};

module.exports = React.createClass({
  renderScene: function(route, navigator) {
   var Component = ROUTES[route.name];
    return <Component route={route} navigator={navigator} />;
  },
  render: function() {
      return (
       <Navigator
        style = { styles.container }
        initialRoute={ {name:'login'} }
        renderScene={this.renderScene }
        configureScene={ () => { return Navigator.SceneConfigs.FloatFromRight; } } />
  );
 }
});

каналы.js

import React from 'react';

import {
  View,
  Text,
  StyleSheet
} from 'react-native';

var sendbird = require('sendbird');

module.exports = React.createClass({
  render: function() {
    return (
      <View style={styles.container}>
        <Text style={{color: '#fff'}}>Channels</Text>
      </View>
    );
  }
});

person Amine Sadry    schedule 01.07.2016    source источник
comment
Можете ли вы поделиться своим кодом, где это происходит? Вы импортировали sendbird в свой файл js?   -  person Orlando    schedule 05.07.2016
comment
Да, на самом деле проблема возникает, когда я требую (''sendbird')... И я удаляю его, все работает нормально   -  person Amine Sadry    schedule 05.07.2016
comment
В сообщении об ошибке похоже, что он ищет node_modules на один уровень выше вашего проекта?   -  person Dominic    schedule 05.07.2016
comment
На самом деле .../ перед /SendbirdSample - это просто замена, которую я сделал, чтобы не вводить весь мой личный путь к проекту... Когда я смотрю внутрь node_modules, библиотека sendbird присутствует   -  person Amine Sadry    schedule 05.07.2016
comment
Привет у меня точно такая же проблема. Любое обновление?   -  person Pav    schedule 07.07.2016
comment
нет, к сожалению, у меня не было времени исследовать больше... я попробую на этих выходных и посмотрю, что произойдет   -  person Amine Sadry    schedule 07.07.2016


Ответы (2)


Попробуйте использовать более раннюю версию JS SDK SendBird. Основываясь на моем собственном тестировании, эта проблема появилась в SDK v. 2.4.19. Моя установка работает с [email protected] и [email protected].

Внезапное появление этой проблемы в патче убедительно свидетельствует об ошибке в SDK или введении недокументированного изменения API (журнал изменений), что также является ошибкой.


Чтобы установить определенную версию пакета npm:

npm i --save [email protected], e.g.

npm i --save [email protected].

Вы можете просмотреть все доступные версии SDK, запустив

npm info sendbird.

person NiFi    schedule 19.07.2016

Официальное сообщение, которое я получил от Sendbird, когда сообщил о той же проблеме. Я не пробовал недавно выпущенную версию 3.0. Так что не могу говорить об этом.

Гарри Ким (SendBird) 6 июля, 01:51 PDT

Благодарим вас за обращение в службу поддержки SendBird.

Мы рекомендуем использовать следующие пакеты для правильной работы SendBird.

"react-native": "0.20.0",
"react-native-button": "1.4.2",
"react-native-gifted-messenger": "0.0.18",
"react-native-gifted-spinner": "0.0.3",
"react-native-popup": "0.5.2",
"sendbird": "^2.4.20"

С уважением, Гарри

person Rebecca Xiong    schedule 24.09.2016