Их __tests __/TodoStore-test.js файла: https://github.com/facebook/flux/blob/master/examples/flux-todomvc/js/stores/tests/TodoStore-test.jsпревращающий ES5 Реагировать тест диспетчеру + Flux в ES6 терпит неудачу
И их Js/диспетчерский/файл AppDispatcher.js: https://github.com/facebook/flux/blob/master/examples/flux-todomvc/js/dispatcher/AppDispatcher.js
в их случае диспетчер просто так:
var Dispatcher = require('flux').Dispatcher;
module.exports = new Dispatcher();
И в их тест-х beforeEach
он сбрасывает:
AppDispatcher = require('../../dispatcher/AppDispatcher');
Теперь в моем проекте я хотел бы использовать способ ES6 делать вещи. Однако я не знаю, как это сделать. Разница между require
и import
elude me.
Мой диспетчеру:
import { Dispatcher } from 'flux';
var dispatcher = new Dispatcher({
logLevel: 'ALL'
});
export default dispatcher;
Каких-как кусок в тонком приложении-работает в моем приложении, но require
пример выше, не имея его.
Часть теста, который должен быть преобразован в import
ES6 в:
beforeEach(function() {
AppDispatcher = require('./../src/dispatcher/dispatcher');
TodoStore = require('./../src/stores/TodoStore');
callback = AppDispatcher.register.mock.calls[0][0];
});
Но, конечно, это не работает:
beforeEach(function() {
AppDispatcher = import './../src/dispatcher/dispatcher';
// snip
});
Или:
import dispatcher from './../src/dispatcher/dispatcher';
beforeEach(function() {
AppDispatcher = new dispatcher();
// snip
});
Я просто делаю пробную версию и ошибку сейчас, и это происходит слишком много времени, просто чтобы написать тест.
Мой мыслительный процесс:
Они требуют, независимо от их диспетчерских выходов для файла, который всегда new Dispatcher()
.
В моем случае я создаю экземпляр new Dispatcher
и export
. Вместо этого мне, вероятно, не нужно будет создавать экземпляр в файле диспетчера, но оставьте это до export
, например: export default new Dispatcher()
, но это выглядит ужасно.
Но независимо от того, что я пытаюсь я получаю ошибки как:
TypeError: Cannot read property 'register' of undefined
ли кто-нибудь есть ключ, как получить это и работает? Очень важно!