“导出默认值”不适用于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 。
如何使用
-
npm install babel-preset-stage-1 --save-dev
- 编辑文件
package.json
并将stage-1
添加到babel
的presets
部分。
package.json
例子
"babel": { "presets": [ "es2015", "stage-1", "react" ] },
更多信息
这是对ECMAScript的build议 – https://github.com/leebyron/ecmascript-export-default-from (仍在审查中) 。
只需使用export * from "./Button";
导出整个模块。 这将有助于你的用例。
不幸的是没有一行的语法来导出另一个模块的默认值。