2017-11-02 3 views
0

とReduxの-約束-ミドルウェアを使用して、私はChromeとFirefoxで魔法のようにredux-mixin.htmlWebコンポーネントテスター

<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> 

と呼ばれるインポートを持っています、しかし、Webコンポーネントテスターに​​ついては、

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}; 

私はReduxの-store.js

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

の先頭にこれを追加することにより、部分的な回避策を実装しました。しかし、それはテストを実行するときに多くのエラーが発生し、いないとして、それは、超満足ではありませんすべてのテストスイートが実行されます。

答えて

0

もう1つの解決策は、すべてのテストファイルに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に入れることができます。私たちは金色です。

関連する問題