6

Бьюсь над проблемой уже третий день, перерыл весь интернет на русском и на английском (как смог). Ответа не нашёл. Прошу вашей помощи.

Суть проблемы: установил через npm React и ReactDOM. В node_modules они добавились. Подключаю. Не видит. Пишет в консоли "React is undefined". А если подключаю через cdn, то все работает.

Что в коде:

var React = require("react");
var ReactDOM = require("react-dom");

var Note = React.createClass({
    render() {
        return <div>Me</div>
    }
});

ReactDOM.render(
    <Note />,
    document.getElementById("app")
);
Nofate
  • 34,603
parser
  • 69
  • 3
    Подключаете где? Какие инструменты вы используете чтобы делать require в клиентском коде? browserify? webpack? requirejs? – Pavel Mayorov Nov 17 '16 at 13:42
  • Подключаю в .jsx файле. Проблем с компиляцией jsx в js не возникло.
  • Для сборки проекта использую Gulp.js. В нем require работает как положено(кроме как с Реактом). Ни browserify ни webpack ни requirejs не использую.
  • Если мой вопрос очень прост и ответ вам очевиден, то прошу помочь. Я на самом деле не пойму почему не работает.

    – parser Nov 17 '16 at 13:54
  • Покажите, как ваш файл выглядит в браузере. – Pavel Mayorov Nov 17 '16 at 14:05
  • Ссылка на изображение: http://skrinshoter.ru/s/171116/FI5gRX?a – parser Nov 17 '16 at 14:07
  • Это не в браузере. – Pavel Mayorov Nov 17 '16 at 14:11
  • Мы хотим видеть скомпилированный код, чтобы чтобы понять во что превращаются ваши require после обработки галпом – Утка Учится Укрываться Nov 17 '16 at 14:25
  • Если я верно понял что требуется показать: http://skrinshoter.ru/s/171116/i0dONX?a – parser Nov 17 '16 at 14:29
  • если честно, я криминала с ходу не вижу. Подозреваю что проблема может быть в том как галп видит пути для node_modules. Возможно, помогут конфиги галпа. Вообще какие-нибудь npm модули нормально реквайрятся? – Утка Учится Укрываться Nov 17 '16 at 15:13
  • В общем. Разобраться не удалось. Сделал как предлагают на официальном сайте: npm install -g create-react-app. Они используют Webpack. В качестве решения был сделан выбор разработку SPA делать на нем, а не на Gulp.js. Спасибо всем вам что не оставили и помогали своими советами. – parser Nov 18 '16 at 15:00
  • А если подключаю через cdn, то все работает. - я так подозреваю, что index.html просто не получал файл с библиотекой Реакт. Поэтому и React is not defined. – YozhEzhi Mar 21 '17 at 14:30