2015-06-24 3 views
4

Я пытаюсь использовать jspm с реакцией. Я работал нормально. Но когда я объединил его с пакетом флюсов от npm. Затем он всегда бросает Диспетчер не является конструктором Ошибка. Мой код нижеFlux threw Dispatcher не является конструктором

AppDispatcher.js

import Flux from 'flux'; 
 
export default new Flux.Dispatcher();

StoreBase.js

'use strict'; 
 

 
import {EventEmitter} from 'events'; 
 
import AppDispatcher from '../dispatchers/AppDispatcher'; 
 

 
const CHANGE_EVENT = 'change'; 
 

 
export default class BaseStore extends EventEmitter { 
 
    constructor() { 
 
     super(); 
 
    } 
 

 
    subscribe(actionSubscribe) { 
 
     this._dispatchToken = AppDispatcher.register(actionSubscribe()); 
 
    } 
 

 
    get dispatchToken() { 
 
     return this._dispatchToken; 
 
    } 
 

 
    emitChange() { 
 
     this.emit(CHANGE_EVENT); 
 
    } 
 

 
    addChangeListener(cb) { 
 
     this.on(CHANGE_EVENT, cb) 
 
    } 
 

 
    removeChangeListener(cb) { 
 
     this.removeListener(CHANGE_EVENT, cb); 
 
    } 
 
}

Я использовал [email protected], [email protected] и [email protected] Может ли кто-нибудь помочь мне в этом?

+0

вы выяснили, почему это происходит и как решить эту проблему? – stkvtflw

+1

@stkvtflw проверить ответ Ajay ниже – SMT

ответ

3

Вы должны экспортировать Dispatcher следующим

import Flux from 'flux'; 
export default new Flux.Dispatcher; 
6

Если вы используете Бабеля вы можете использовать ниже

import { Dispatcher } from 'flux'; 
const dispatcher = new Dispatcher(); 
export default dispatcher;