2017-11-02 9 views
0

와 REDUX - 약속 - 미들웨어를 사용하여 내가 크롬과 파이어 폭스의 매력과 같은 redux-mixin.html웹 컴포넌트 테스터

<link rel="import" href="../../bower_components/polymer-redux/polymer-redux.html"> 
<script src="../../bower_components/aws-sdk/dist/aws-sdk.min.js"></script> 
<link rel="import" href="redux-scripts.html"> 

<script type="module" src="./index.js"></script> 
<script nomodule src="./bundle.js"></script> 

런의 상단에 가져 redux-scripts

<link rel="import" href="../config.html"> 
<script src="../../node_modules/redux/dist/redux.min.js"></script> 
<script src="../../bower_components/amazon-cognito-identity-js/dist/aws-cognito-sdk.min.js"></script> 
<script src="../../bower_components/amazon-cognito-identity-js/dist/amazon-cognito-identity.min.js"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/redux-promise-middleware/4.4.1/redux-promise-middleware.min.js"></script> 
<script src="./redux-promises.js"></script> 

라는 수입을 가지고, 그러나 웹 구성 요소 테스터의 경우 :

redux-store.js:22 Uncaught ReferenceError: ReduxPromiseMiddleware is not defined 
at redux-store.js:22 

import programs from './programs/programsReducer.js'; 
import videos from './videos/videosReducer.js'; 
import video from './video/videoReducer.js'; 

const rootReducer = Redux.combineReducers({ 
    programs, 
    videos, 
    video, 
}); 

// Setup a Redux store 
const initialState = { 
    viewSpecificToolbar: 'videos', 
}; 

const store = Redux.createStore(
    rootReducer, 
    initialState, 

    // The best part 8) 
    Redux.compose(
    Redux.applyMiddleware(ReduxPromiseMiddleware.default()), 
    window.devToolsExtension ? window.devToolsExtension() : (v) => v 
) 
); 

export {store}; 

나는

const scripts = Polymer.ResolveUrl.resolveUrl('./redux-scripts.html'); 
Polymer.importHref(scripts, null, null, false); 

REDUX - store.js의 상단에이를 추가하여 부분적인 해결 방법을 구현했습니다하지만 테스트를 실행할 때 많은 오류가 발생로, 슈퍼 만족 아니에요, 그리고 모든 테스트 스위트가 실행됩니다.

답변

0

또 다른 해결책은 모든 테스트 파일에 redux-scripts.html 가져 오기를 추가하는 것이었지만 redux-promise-middleware 라이브러리를 변경하여 더 나은 해결책을 얻었습니다. 버전 4.4.2에서 index.js의 import 문은 이제 파일 확장자 인 ./isPromise.js의 상대 경로를 가리 킵니다. 그 자리에, 나는 import promiseMiddleware from '../../node_modules/redux-promise-middleware/dist/es/index.js' 안에 redux-store.js 안에 할 수 있고 우리는 황금색이다.