我可以一次导入所有流类型吗?

Mic*_*iti 5 typechecking flowtype

假设我有这个:

import type { Collection } from './x.types.js';
import type { Collection } from './y.types.js';
Run Code Online (Sandbox Code Playgroud)

我想像这样导入两者:

import type * as XTypes from './x.types.js';
import type * as YTypes from './y.types.js';
Run Code Online (Sandbox Code Playgroud)

因为在我的代码中我将有一个名称空间,我可以轻松地识别它们来自哪里,并且我不会有任何声明冲突。

const something = (collection: Xtypes.collection) => {}
const something2 = (collection: Ytypes.collection) => {}
Run Code Online (Sandbox Code Playgroud)

Jam*_*aus 2

您可以从模块导入所有内容并访问类型,就像从模块导出任何内容一样:

尝试

import * as React from 'react'
const a: React.Element<'div'> = <div>Test</div>
Run Code Online (Sandbox Code Playgroud)

import type * as ReactTypes我认为目前不存在语法。如果您使用上述语法,我希望您正在使用 Tree Shaking 或者您已经在其他地方使用该模块。如果仅仅为了使用这种速记导入而使部署的代码变得臃肿,那将是一种耻辱。