“导出默认值”不适用于Babel React

我使用react来构build我的组件库。 我需要有一个index.js导入所有组件在一个地方。

像这样的东西:

 MyComponents/ Button.js Label.js index.js 

index.js里面我试着做下一步:

 // this export nothing export {default} from './Button'; // this tells me about syntax error export default from './Button'; 

我发现只有这个解决scheme有效

 import Button from './Button'; export default Button; 

但是,我发现一些React组件库使用上面提到的语法( export default from './Button' ) – 它以某种方式工作。 看起来他们使用一些babel-plugin-transform-*来做到这一点。

请find我find如何将我的两个导入导出线转换为一个export ... from ...线。 谢谢。

PS最后我需要这样做: import Button from './MyComponents';

使用以下语法:

 File: layouts/index.js export {default as Flex} from './flex' export {default as Grid} from './grid' export {default as Dock} from './dock' 

那么你可以使用

 import { Dock, Grid } from 'layouts' 

要么

 import layouts from 'layouts' <layouts.Flex >...</layouts.Flex> 

为了导出由上述方法创build的嵌套索引,可以使用export *语法:

 File: icons/index.js export * as action from './action'; export * as alert from './alert'; export * as av from './av'; 

用法:

 import * as icons from 'material/icons' <icons.action.Close /> 

要使用这种结构:

 export default from './Button'; 

我们需要使用预置阶段1 。

如何使用

  1. npm install babel-preset-stage-1 --save-dev
  2. 编辑文件package.json并将stage-1添加到babelpresets部分。

package.json例子

 "babel": { "presets": [ "es2015", "stage-1", "react" ] }, 

更多信息

这是对ECMAScript的build议 – https://github.com/leebyron/ecmascript-export-default-from (仍在审查中)

只需使用export * from "./Button"; 导出整个模块。 这将有助于你的用例。

不幸的是没有一行的语法来导出另一个模块的默认值。