Create-React-App показывает пустую страницу на сервере WHM / cPanel - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь развернуть приложение React в рабочей среде, и, похоже, у меня возникла проблема, которую я не могу исправить ни одним из сетевых ответов, которые я исследовал до сих пор.

Я создал приложение с простой системой входа / регистрации и использовал для этого redux + saga.

После того, как я бегу:

npm run-script build

Я получаю сообщение о том, что папка сборки готова к развертыванию (пока все хорошо). После того, как я загружаю свои файлы в папку public_html в cPanel, я получаю пустую страницу с приложением React в качестве заголовка и значком загрузки.

То, что я до сих пор пытался это исправить:

  1. установить домашнюю страницу как '.' в package.json (не повезло, проверка сети вкладка показывает, что все файлы загружаются со статусом 200, ок)
  2. обновление до последней версии моих зависимостей
  3. установил узел и попытался «обслужить» сборку (я действительно не понял эту часть)

Кроме того, у меня есть ошибка в консоли (возможно, она совершенно не связана с тем, что веб-приложение ничего не показывает, так как в конфигурации у меня есть инструменты redux dev):

ошибка журнала консоли:

enter image description here

Я очень отчаянно пытаюсь найти решение этой проблемы. Спасибо за ваш вклад и время.

store.js:

import { createBrowserHistory } from 'history';
import { applyMiddleware, compose, createStore } from 'redux';
import { routerMiddleware } from 'connected-react-router'
import createSagaMiddleware from 'redux-saga';

import rootReducer from './index';
import rootSaga from './sagas';

const defaultState = {};

export const history = createBrowserHistory()

const sagaMiddleware = createSagaMiddleware()

const store = createStore(
  rootReducer(history),
  defaultState,
  compose(
    applyMiddleware(
      routerMiddleware(history),
      sagaMiddleware
    ),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);

sagaMiddleware.run(rootSaga);

export default store;

1 Ответ

0 голосов
/ 15 ноября 2018

Проблема с функцией compose.Для разработки это будет работать, но для производственного режима вам нужно удалить devtools.

Попробуйте использовать другой метод compose для разработки и производства.Пример фрагмента кода приведен ниже.

const devTools = process.env.NODE_ENV === 'development' ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__() : null

const store = createStore(
  rootReducer,
  compose(applyMiddleware(thunk), devTools)
)

Вы также можете попробовать создать библиотеку ' redux-devtools-extension '.

...