puede módulo modulos leer importar funciones exportar es6 descargar datos convertir con clases archivo javascript flowtype

javascript - módulo - ¿Cómo exportar una definición de tipo de flujo que se importa desde otro archivo?



leer archivo excel con javascript (4)

Dada una definición de tipo que se importa de otro módulo, ¿cómo puede volver a exportarla?

/** * @flow */ import type * as ExampleType from ''./ExampleType''; ... // What is the syntax for exporting the type? // export { ExampleType };


Acabo de encontrar la necesidad de una sola línea para hacer esto para las clases predeterminadas de ES6, basándose en la respuesta de @ locropulenton''s. Supongamos que tienes

// @flow export default class Restaurants {}

en un archivo de Restaurants.js . Para exportarlo desde un archivo index.js en el mismo directorio, haga lo siguiente:

export type {default as Restaurants} from ''./Restaurants'';


Esto esta funcionando

export type { MyType } from ''./types'';

Edición: Obtener esta sintaxis de cómo se hace en react-native-tab-view


La forma más sencilla de esta pregunta es "¿Cómo exporto un alias de tipo?" y la respuesta simple es "con export type !"

Para tu ejemplo, puedes escribir

/** * @flow */ import type * as ExampleType from ''./ExampleType''; export type { ExampleType };

Puede preguntar "¿por qué es ExampleType un alias de tipo?" Bueno cuando escribas

type MyTypeAlias = number;

Usted está creando explícitamente el alias de tipo MyTypeAlias cuyo number alias. Y cuando escribas

import type { YourTypeAlias } from ''./YourModule'';

Usted está creando implícitamente el alias de tipo YourTypeAlias que alias la exportación YourModule.js de YourModule.js .


La respuesta aceptada es vieja y arrojando advertencias por mi parte. Dada la cantidad de vistas, aquí hay una respuesta actualizada que es compatible con el flujo 0.10+.

MyTypes.js:

export type UserID = number; export type User = { id: UserID, firstName: string, lastName: string };

Usuario.js:

import type {UserID, User} from "MyTypes"; function getUserID(user: User): UserID { return user.id; }

source