Образец репозитория github (конкретная фиксация)
Я погружаюсь в реакцию / реле и хочу убедиться, что я настроен на запуск разработки и производства. У нас большое приложение, поэтому разделение кода является обязательным.
Я предпочитаю объявления маршрутов react-router
на основе JSX, поэтому с радостью наткнулся на Неявное разделение кода и загрузка фрагментов с помощью React Router и Webpack из Эван Хенли.
С помощью нескольких настроек регулярного выражения и ES6 я смог заставить его метод работать. Клонируйте репозиторий, npm install && npm start
и вы сможете перейти к разные чанки (за исключением задач).
^^^ все это работает для не ретрансляционных частей приложения - хорошая вещь.
Проблема
Затем ... перейдите в Todos (на основе реле).
Uncaught TypeError: _TodoListFooter2.default.getFragment is not a function
viewer
Fragment
(instrumented buildRQL.Fragment)
buildContainerFragment
Наше производственное приложение полностью зависит от реле.
Relay зависит от нескольких статических вызовов таких классов, как getFragment
. В этом случае webpack поместил TodoListFooter
в другой разделяемый блок, поэтому TodoListFooter2
не имеет getFragment
. Напротив, в той же строке он прерывается, _AddTodoMutation2
находится в том же фрагменте, поэтому аналогичный вызов _AddTodoMutation2.default.getFragment('viewer')
работает нормально.
Возможные решения
- Использовать именованные блоки? Этот коммит попытался сделать это, но все равно вставил некоторый код в общий кусок (и не удалось с той же ошибкой)
- Другой метод разделения кода, совместимый с реле для статических методов?
- Что-то, о чем я не подумал?