import { applyMiddleware, compose, createStore } from 'redux' import thunkMiddleware from 'redux-thunk' import rootReducer from '@/reducers' const composeEnhancers = typeof window === 'object' && (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({ // Specify extension’s options like name, actionsBlacklist, actionsCreators, serialize... }) : compose const middlewares = [ thunkMiddleware, ] if (process.env.NODE_ENV === 'development' && process.env.TARO_ENV !== 'quickapp') { // eslint-disable-next-line @typescript-eslint/no-var-requires middlewares.push(require('redux-logger').createLogger()) } const enhancer = composeEnhancers( applyMiddleware(...middlewares), ) export default function configStore() { const store = createStore(rootReducer, enhancer) return store }