尝试将电子商务应用程序上传到Heroku时出现redux logger错误

时间:2019-01-02 23:06:34

标签: javascript reactjs heroku moltin redux-logger

我正在尝试使用Moltin JS在React中构建一个电子商务商店应用程序。每次尝试将其上传到Heroku时,都会出现空白页或错误。该错误表明它无法解决“ redux-logger”。我尝试过重新下载redux logger以及npm install。我仍然收到相同的错误消息。我也尝试过NPM更新。当我从VS Code启动它时,它工作正常。
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 :(得分:3)

诀窍在于,Heroku默认仅在部署时安装生产依赖项,因此通过运行dependencies在您package.json的{​​{1}}键下列出的依赖项。

将对应用程序运行至关重要的依赖项(例如redux-logger)从npm install --production移至devDependencies,这应该可以解决您的问题。

dependencies用于支持开发的事物,但对于运行应用的生产副本不是必需的,例如测试模块。