Comments 12
В данной статье речь не про бойлерплейт, потому что create-react-app
создает совершенно минимальный каркас, который бойлерплейтом с натяжкой можно назвать, все пишется с нуля руками за 5 минут, а про работу одним скриптом почти без настроек, по аналогии с react-scripts
.
Я тут сравнивал в статье разные фреймворки, и на мой взгляд, чем меньше бойлерплейта — тем лучше. В случае с Next.js или Create React App сама экосистема вообще не заметна, ноль конфигурации (в Next.js можно ее вытащить, если сильно надо), для Electrode надо некоторое кол-во конфигов и бойлерплейта, и это уже вызывает вопросы, как это поддерживать. Но и гибкости в тех, где нет конфигов — поменьше. Но иногда и это на пользу идет, меньше ненужных телодвижений, когда все нельзя. Бойлерплейты все имеют неустранимый недостаток — после инициализации проект уходит своим путем, а бойлерплейт — своим. Нельзя просто взять и синхронизировать проект с последними наработками автора бойлерплейта. А CRA и Next с Electrode — можно, любые оптимизации, которые вносят авторы, будут Вам доступны.
Apollo и GraphQL для потребления прекрасны, для написания своего сервера — тоже хороши, но есть нюансы, особенно если клиент не только вы сами, т.е. нужен еще и REST ;). Ссылку Вашу посмотрю, спасибо.
Выглядит многообещающе. Но тут есть страшный момент — когда у автора энтузиазм иссякнет не знает никто. Как часто будут апдейты и синкапы с апстримом? Через год можно оказаться без поддержки и с багами, которые никто не будет фиксить. Страшно как-то, это ведь не библиотека, а вся инфраструктура на форке.
Вот это уже интересно! Попробую воткнуть в свой новый проект.
А не запускается пример:
$ git clone git@github.com:kirill-konshin/create-react-server.git
$ cd ~/create-react-server/examples/create-react-app
$ npm update
$ npm install create-react-server --save-dev
$ npm start
Failed to compile.
Error in ~/create-react-server/src/wrapper.js
Module not found: 'react' in ~/create-react-server/src
@ ~/create-react-server/src/wrapper.js 1:12-28
А вообще — с таким либо в issues на Github, либо в личку.
Гы-гы. Для сравнения — perfect world.
Совершил забег по кругу, и теперь могу с уверенностью сказать, что предложенный способ опционального прикручивания SSR к SPA — самый правильный.
Я же был счастлив, когда сидел на CRA. До той поры, пока не прочитал "Что взять за основу React приложения". А дальше беспрерывная борьба со сложностью окружения. Начитался issues — голова пухнет.
Ещё одна годная статья по теме Server Side Rendering with React and Redux.
Create React App (aka React Scripts) и серверный рендеринг с Redux и Router