2016-07-24 15 views
1

Итак, я в основном все еще довольно новичок во всей экосистеме npm/react.js (не говоря уже о реакции.rb), и мне интересно, можно ли использовать reactrb с генератором статических узлов gatsby.Можно ли использовать генератор статического сайта gatsby с реакцией?

Я пытаюсь получить поддержку opal/reactrb через opal-webpack, но столкнулся с некоторыми проблемами (см. Эту проблему для некоторой предыстории https://github.com/cj/opal-webpack/issues/36). В частности, где я застрял, пытался заставить его играть хорошо с поставщиком.

Сочетает ли компоненты реакции с gatsby что-то, что даже возможно? Я надеюсь, что ответ будет да.

+0

Не уверен, что на самом деле ... не видел reactrb раньше. Что вам нужно будет выяснить, если вы можете включить компоненты reactrb в проект JS. Из того, что я видел, тыкаешь, вся документация предполагает, что ты пишешь * все * в Опале. Если это так, то Opal/React.rb работают только автономно, тогда вы не сможете использовать их с Gatsby. Вы можете btw, использовать Coffeescript/CJSX с Gatsby, который дает немного больше аромата Ruby. –

ответ

1

Извините за очень поздний ответ. Reactrb был переименован в ruby-hyperloop, и да, вы можете использовать его с Gatsby и любым статическим генератором сайта. Например, сайт Hyperloop построен, например, с Middleman.

Лучший способ интегрировать Hyperloop в статический генератор сайта - это использовать Hyperloop.JS https://github.com/ruby-hyperloop/hyperloop-js, который вообще не имеет следов на сервере.

Пожалуйста, посетите веб-сайт Hyperloop примеры и учебные пособия: http://ruby-hyperloop.io/

0

Вы можете получить данные в Гэтсби образуют какой-либо источника. Вам нужно создать исходный плагин. Ответ от @BarrieH является точным, но может быть немного ошибочным.

Вы не можете запросить непосредственно из внешнего API GraphQL в компонент. Gatsby работает, загружая все ваши данные в свою собственную систему узлов, затем вы извлекаете данные из этих узлов в свои компоненты. Это позволяет Gatsby собирать ваши данные в статические файлы JSON на диске, предварительно извлекать данные для других страниц и т. Д.

Вот соответствующие документы: https://www.gatsbyjs.org/docs/create-source-plugin/