ES6模块语法:是否可以`从...导出*作为名称?

ver*_*nzt 11 javascript ecmascript-6

查看问题标题.我找到了一个很好的参考形式export,但我还没有看到我在寻找什么.

有可能做以下事情吗?

// file: constants.js
export const SomeConstant1 = 'yay';
export const SomeConstant2 = 'yayayaya';

// file: index.js
export * as Constants from './constants.js';
Run Code Online (Sandbox Code Playgroud)

即这将提供一个名为export Constants的内部index.js包含所有从指定出口module.js.


这个答案似乎表明它在TypeScript中是不可能的; 纯JavaScript是一样的吗?

(这个例子有点做作;实际上我正在尝试使用一个prop-types.js模块在React包中使用命名导出供内部使用,但也会导出prop类型定义以PropTypes供外部使用.我试图简化为了问题.)

Ber*_*rgi 19

不,它也不允许在JS中,但是有一个建议添加它.现在,只需使用两步流程导入局部变量并导出:

// file: constants.js
export const SomeConstant1 = 'yay';
export const SomeConstant2 = 'yayayaya';

// file: index.js
import * as Constants from './constants.js';
export {Constants};
Run Code Online (Sandbox Code Playgroud)


小智 17

2019 年的今天,现在成为可能

export * as name1 from …;
Run Code Online (Sandbox Code Playgroud)