У меня есть три модуля ES2015: store.js
, middleware-config.js
и автогенерированный middleware-config-settings.js
с некоторой логикой и импортом.«Модуль не найден» Ошибка потока для автогенерируемого файла
Модуль middleware-config-settings.js
генерируется с webpack.config.js
, когда приложение начинается с npm start
.
store.js
:
// @flow
...
import middlewareConfigs from './middleware/middleware-config';
...
middleware-config.js
:
// @flow
...
import defaultSettings from './middleware-config-settings';
...
Модуль middleware-config-settings.js
только простой JSON:
// @flow
export default {
profilingMiddlewareConfig: {
isActive: true,
},
reduxDiffStateMiddlewareConfig: {
isActive: true,
params: {
ignoredActionTypes: [],
approvedActionTypes: []
}
}
};
Когда я проверил проект с flow
я получил сообщение об ошибке:
./middleware-config-settings. Required module not found
Во-первых, я пытался игнорировать поток проверить на линии:
// @flow
...
// @FlowFixMe: ignore
import defaultSettings from './middleware-config-settings';
...
Это apporach работает нормально, если middleware-config-settings.js
не существует. В противном случае у меня другая проблема: после того, как npm start
middleware-config-settings.js
созданный файл и следующий flow
выполнение терпит неудачу с другой ошибкой:
Error suppressing comment. Unused suppression
Во-вторых, я попытался добавить middleware-config.js
в [ignore]
раздел в .flowconfig
. Но потом я получил новое сообщение об ошибке с store.js
:
./middleware/middleware-config. Required module not found
После этого я добавляю store.js
в [ignore]
секции тоже и flow
выполняет хорошо, но я думаю, что это не правильно.
Третий подход похож на второй - я только что удалили // @flow
из middleware-config.js
и flow
выполняет отлично. И этот подход тоже не слишком хорош (все мои модули должны быть flow
ред).
Поэтому у меня есть два вопроса:
- Как я могу получить безошибочный
flow
исполнение без учета какой-либо из файлов, что изflow
проверок? - Почему у меня возникла ошибка в отношении
store.js
, когда я добавляюmiddleware-config.js
в раздел[ignore]
? Если мое понимание documentation правильно, так что это не правильное поведение:The [ignore] heading in a .flowconfig file tells flow to ignore files matching the specified regular expressions when type checking your code.
Спасибо за ответ ! 1. Мне нужно сгенерировать этот файл. 2. Этот файл создан только в том случае, если он не существует, и каждый пользователь может редактировать его своими собственными значениями (и я не хочу создавать еще один поддельный файл). 3. Это немного сложнее, чем я хочу. Я решаю это с другим подходом. – feeeper