查看问题标题。我找到export
// file: constants.js
export const SomeConstant1 = 'yay';
export const SomeConstant2 = 'yayayaya';
// file: index.js
export * as Constants from './constants.js';
形式的Constants
,但我还没有看到我正在寻找的内容。
是否可以执行以下操作?
index.js
即。这将在module.js
内提供一个命名导出prop-types.js
,其中包含PropTypes
的所有已命名导出。
great reference似乎表明它在TypeScript中是不可能的;纯JavaScript是一样的吗?
(这个例子有点做作;实际上我正在尝试使用一个.mobileNav
模块,它在React包中使用命名导出供内部使用,但也导出{{1}下的prop类型定义对于外部消费。我试图为了问题而简化。)
答案 0 :(得分:17)
不,在JS中也不允许,但是a proposal to add it。现在,只需使用两步流程导入局部变量并导出:
// file: constants.js
export const SomeConstant1 = 'yay';
export const SomeConstant2 = 'yayayaya';
// file: index.js
import * as Constants from './constants.js';
export {Constants};
答案 1 :(得分:2)
此规范的proposal已合并到ecma262。如果您正在运行以前的JS的环境中寻找此功能,则可以使用babel plugin!配置插件后(或者如果您使用的是ecma262或更高版本),则可以在问题中运行JS:
// file: constants.js
export const SomeConstant1 = 'yay';
export const SomeConstant2 = 'yayayaya';
// file: index.js
export * as Constants from './constants.js';
// file: component.js
import { Constants } from './index.js';
const newVar = Constants.SomeConstant1; // 'yay'
答案 2 :(得分:1)
今天是it is now possible,2019年。
export * as name1 from …;
答案 3 :(得分:0)
// file: index.js
// note, this doesn't have to be at the top, you can put it wherever you prefer
import * as AllExportsFromThisModule from "./index.js"; // point this at the SAME file
export default AllExportsFromThisModule;
export const SOME_CONSTANT = 'yay';
export const SOME_OTHER_CONSTANT = 'yayayaya';