При загрузке приложения для электронной коммерции в Heroku появляется сообщение об ошибке - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь создать приложение для интернет-магазина в React с Moltin JS.Каждый раз, когда я пытаюсь загрузить его в Heroku, я получаю пустую страницу или ошибку.В ошибке сказано, что не удалось разрешить «redux-logger».Я попытался повторно загрузить Redx Logger, а также установить Npm.Я все еще получаю то же сообщение об ошибке.Я также попробовал обновление NPM.Он прекрасно работает, когда я запускаю его из кода VS.
github docs Heroku Page

// import the ability to modify browser history within our router
import createHistory from 'history/createBrowserHistory';

// import our logger for redux
import { createLogger } from 'redux-logger';

// import a library to handle async with redux
import thunk from 'redux-thunk';

// import the redux parts needed to start our store
import { createStore, applyMiddleware, compose } from 'redux';

// import the middleware for using react router with redux
import { routerMiddleware } from 'react-router-redux';

// import the already combined reducers for redux to use
import rootReducer from './ducks';

// import moltin API wrapper for use with Redux
import * as api from './moltin';

// create and export history for router
export const history = createHistory();

// combine the middlewares we're using into a constant so that it can be used by our store
const middleware = [thunk.withExtraArgument(api), routerMiddleware(history)];

// declare any enhancers here
const enhancers = [];

// use Redux devtools if available in development
if (process.env.NODE_ENV === 'development') {
  const devToolsExtension = window.devToolsExtension;

  if (typeof devToolsExtension === 'function') {
    enhancers.push(devToolsExtension());
  }

  middleware.push(createLogger());
}

// compose our middleware
const composedEnhancers = compose(applyMiddleware(...middleware), ...enhancers);

// create our redux store using our reducers and our middleware, and export it for use in index.js
const store = createStore(rootReducer, composedEnhancers);

export default store;

1 Ответ

0 голосов
/ 03 января 2019

Хитрость в том, что Heroku по умолчанию устанавливает только производственные зависимости при развертывании, поэтому те, которые перечислены в dependencies ключе от вас package.json, запустив npm install --production.

Переместите зависимости, которые имеют решающее значениечтобы ваше приложение работало - как, например, redux-logger - от devDependencies до dependencies, и это должно решить вашу проблему.

devDependencies предназначены для вещей, которые поддерживают вас в разработке, но не требуются длярабочая копия вашего приложения для запуска, например, для тестирования модулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...