【发布时间】:2017-01-12 14:01:19
【问题描述】:
我有三个 ES2015 模块:store.js、middleware-config.js 和自动生成的 middleware-config-settings.js,带有一些逻辑和导入。
当应用以npm start 启动时,模块middleware-config-settings.js 是从webpack.config.js 生成的。
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.找不到所需的模块
首先,我尝试忽略该行的流检查:
// @flow
...
// @FlowFixMe: ignore
import defaultSettings from './middleware-config-settings';
...
如果middleware-config-settings.js 不存在,该方法可以正常工作。否则我遇到了另一个问题:在创建npm start middleware-config-settings.js 文件和下一个flow 执行失败并出现另一个错误:
禁止评论时出错。未使用的抑制
其次,我尝试将middleware-config.js 添加到.flowconfig 的[ignore] 部分。但后来我收到了来自store.js 的新错误消息:
./middleware/middleware-config.找不到所需的模块
之后我也将store.js 添加到[ignore] 部分,flow 执行良好,但我认为这不是正确的方法。
第三种方法类似于第二种方法 - 我刚刚从 middleware-config.js 中删除了 // @flow 并且 flow 执行良好。而且这种方法也不太好(我所有的模块都应该是flowed)。
所以我有两个问题:
- 如何在不从
flow检查中排除任何这些文件的情况下获得无错误的flow执行? - 为什么当我将
middleware-config.js添加到[ignore]部分时,我收到关于store.js的错误?如果我对documentation 的理解是正确的,那么这不是正确的行为:.flowconfig 文件中的 [ignore] 标题告诉 flow 在检查代码时忽略匹配指定正则表达式的文件。
【问题讨论】:
标签: javascript ecmascript-6 flowtype es6-modules