2016-12-12 5 views
1

У меня есть проект JavaScript, который является потоковым аннотированным. Когда я бегу flow на него, он дает мне эту ошибку:Поиск источника ошибок потока

$ flow 
./layout/layoutTypes.js:48 
48: type: 'LayerGroup', 
      ^^^^^^^^^^^^ string literal `LayerGroup`. Expected string literal `RootLayer`, got `LayerGroup` instead 
57: type: 'RootLayer', 
     ^^^^^^^^^^^ string literal `RootLayer` 

./layout/layoutTypes.js:57 
57: type: 'RootLayer', 
      ^^^^^^^^^^^ string literal `RootLayer`. Expected string literal `LayerGroup`, got `RootLayer` instead 
48: type: 'LayerGroup', 
     ^^^^^^^^^^^^ string literal `LayerGroup` 

Found 2 errors 

layoutTypes.js является as such here. При проверке отдельных ошибок нет ошибок, но при запуске локально вместе с кучей других файлов, кажется, ошибка без источника ошибки.

Какая ошибка может быть такой? Как я могу разоблачить источник проблемы?

ответ

1

Это может произойти из-за вывода типа потока. Где-то у вас есть объект, который, как предполагается, является группой RootLayer/LayerGroup, и поток ожидает одного, но видит другого. Один из способов сузить, где это происходит, - это смотреть на более длинный путь ошибки. Чтобы сделать это, выполните команду:

flow check --traces 10

Вы можете использовать более низкое или более высокое число в зависимости от того, насколько глубоко вы хотите поток идти. Это создаст список, в котором указывается путь, по которому выполнялся поток, когда он столкнулся с этой конкретной ошибкой. Где-то (начало, в середине или ближе к концу) этого списка будет код, запускающий это. Просто идите шаг за шагом, пока не найдете его.

Смежные вопросы