FlowType 中的自定义解析器
Custom resolver in FlowType
我们正在使用自定义解析器来确定某个导入指向的位置,主要是为了支持覆盖整个 base
库实例的默认行为。我们项目的结构大致是这样的:
-base/
-instanceA/
-instanceB/
-.flowconfig
我们支持一个特殊的别名,我们称它为 @app
,它会尝试从当前实例导入文件,但如果未找到该文件,则会回退到 base
。所以,如果像
这样的导入
import Colors from '@app/theme/colors';
在来自 instanceB
的文件中找到,如果存在这样的文件,将解析为 instanceB/theme/colors
,否则解析为 base/theme/colors
。
我正在尝试使用 Flow
复制此行为,但配置机制似乎不够强大(module.name_mapper 接近于此,但它几乎只是一个字符串替换)。
有没有人以前遇到过这个问题,也许找到了破解方法?
这似乎得到了 Flow 的短暂支持,但从 0.110 开始就被删除了。这些是您可以阅读的一些相关网址:
https://github.com/facebook/flow/issues/293
https://github.com/facebook/flow/pull/6132
这是删除它的提交:
https://github.com/facebook/flow/commit/87820b8e21e626126e2a8ab7e3a70f253a24bafd
我们正在使用自定义解析器来确定某个导入指向的位置,主要是为了支持覆盖整个 base
库实例的默认行为。我们项目的结构大致是这样的:
-base/
-instanceA/
-instanceB/
-.flowconfig
我们支持一个特殊的别名,我们称它为 @app
,它会尝试从当前实例导入文件,但如果未找到该文件,则会回退到 base
。所以,如果像
import Colors from '@app/theme/colors';
在来自 instanceB
的文件中找到,如果存在这样的文件,将解析为 instanceB/theme/colors
,否则解析为 base/theme/colors
。
我正在尝试使用 Flow
复制此行为,但配置机制似乎不够强大(module.name_mapper 接近于此,但它几乎只是一个字符串替换)。
有没有人以前遇到过这个问题,也许找到了破解方法?
这似乎得到了 Flow 的短暂支持,但从 0.110 开始就被删除了。这些是您可以阅读的一些相关网址:
https://github.com/facebook/flow/issues/293
https://github.com/facebook/flow/pull/6132
这是删除它的提交:
https://github.com/facebook/flow/commit/87820b8e21e626126e2a8ab7e3a70f253a24bafd