我可以在同一文件中将全局变量声明为 Flow 吗?

Can I declare globals to Flow in the same file?

是否可以在同一个文件中声明一个全局变量,然后只分析这个文件?类似于使用 eslint 或 jshint。用例将添加 jQuery、$ 作为具有任何属性的对象。

类似于:

// @declare var $: object
let foo = $('.foo-elements');

就像这个 link,但在飞行中:https://flow.org/en/docs/libdefs/creation/#toc-declaring-a-global-variable

declare var PI: number;

我没有使用 Babel,所以代码必须是 ES8 JS,浏览器就绪。

文档中提到了内联声明,但它们不是 JS,必须经过编译才能工作,似乎:https://flow.org/en/docs/declarations/#toc-inlining-declarations-in-regular-code

所以你想使用流来声明一个全局变量,这样你就不会得到流错误。但是你不使用 babel 或 and transpiler 所以它必须 运行 没有工具。

我认为评论语法正是您要找的 https://flow.org/en/docs/types/comments/

// @flow

/*::
declare var $: {
  (...args: Array<any>): any;
  [key: string]: () => any,
  ...
},
*/

let foo = $('.foo-elements');

还冒昧地为 $ 对象添加了最基本的实现