创建容器模块 - export * as x from 'y'

Create container module - export * as x from 'y'

我在模块中有这个:

export const Category = require('./category');
export const Roles = require('./roles');
export const FunctionalTeams = require('./functional-team');
export const WorkSteams = require('./workstream');

我尝试将其更改为 TS 导入:

export * as Category from './category';
export * as Roles from './roles';
export * as FunctionalTeams from './functional-team';
export * as WorkSteams from'./workstream';

但这不起作用,tsc 甚至无法识别该语法,我看到了这些错误:

models/enums/index.ts(17,22): error TS1005: ';' expected.
models/enums/index.ts(17,27): error TS1005: ';' expected.
models/enums/index.ts(18,10): error TS1005: 'from' expected.
models/enums/index.ts(18,13): error TS1005: ';' expected.
models/enums/index.ts(18,19): error TS1005: ';' expected.

您可以像下面这样从一个模块中导出所有元素(不允许重命名):

export * from '../file.ts';

或者您可以导出特定元素并根据需要重命名它们:

export {Class1, Class2 as Class3} from '../file.ts';

re-exports 的文档:https://www.typescriptlang.org/docs/handbook/modules.html

我最终使用了two-liners,例如:

import * as Category from './category';
export Category;