gpt4 book ai didi

node.js - 在 Flow NPM 包中,抑制问题以使用户应用程序看不到错误的正确方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 03:27:56 24 4
gpt4 key购买 nike

如果您使用类似 $FlowIssue 的内容,则不能保证它会出现在每个人的 .flowconfig 文件中。如果您声明一个库接口(interface),那么它似乎只适用于给定的项目,而不适用于导入您的包的其他项目(即使您在 NPM 包中提供了 .flowconfig 和接口(interface)文件)。

这是我试图抑制使用我的包的应用程序中的错误的代码:

  // $FlowIssue
const isSSRTest = process.env.NODE_ENV === 'test' // $FlowIssue
&& typeof CONFIG !== 'undefined' && CONFIG.isSSR

CONFIG 是 Jest 运行测试时存在的全局变量。

我之前有一个 CONFIG 的接口(interface)声明,但在用户应用程序中并没有得到尊重 - 也许我缺少一种使其工作的机制?通过此解决方案,至少用户很有可能获得 $FlowIssue 抑制评论。但还是不够好。

使用 Flow 构建的包的惯用解决方案是什么?

最佳答案

声明全局变量

这是声明全局变量的方法:声明 var CONFIG: any;。您可以/应该使用实际类型,而不是 any

错误抑制

在 flow v0.33 中,他们引入了 this change :

suppress_comment now defaults to matching // $FlowFixMe if there are no suppress_comments listed in a .flowconfig

这意味着如果您使用 $FlowFixMe,您的错误被抑制的可能性更大。

关于node.js - 在 Flow NPM 包中,抑制问题以使用户应用程序看不到错误的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42154415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com