我有一个文件夹./plugins
。插件具有以下界面:
type PluginType = () => Promise<(ad: AdType) => TargetingParameterType>;
为了使用Flow,我需要将PluginType
导入每个插件脚本并声明导出类型,例如这就是我现在正在做的事情:
import type {
PluginType
} from './types';
const myPlugin: PluginType = async () => {
return (ad) => {
return {};
};
};
export default myPlugin;
这种方法的问题是:
export default
类型)./plugins/*.js
文件中。有没有办法配置Flow将PluginType
类型应用于./plugins/*.js
文件夹中的所有文件,而无需为每个文件添加类型声明?
答案 0 :(得分:2)
您可以使用".flowconfig
-style" declarations创建项目范围的类型声明。在SO_TIMEOUT
中,添加:
.flowconfig
然后创建目录[libs]
decls/
,并在其中创建一个名为decls
的文件,其中包含:
plugins.js
您可能还需要在此文件中包含declare type PluginType = () => Promise<(ad: AdType) => TargetingParameterType>;
所依赖的类型。
According to the documentation:
声明类型同样有用。与其他声明一样,类型声明也可以对项目中的所有模块可见。
为避免创建中间变量,您可以使用typecast语法:
PluginType