[英]export default { foo, bar } doesn't work in node.js with babel
[英]“export default from” doesn't work with Babel React
我使用react
来构建我的组件库。 我需要一个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';
我发现只有这个解决方案有效
import Button from './Button';
export default Button;
但是我发现一些React Component库使用了我上面提到的语法( export default from './Button'
) - 它以某种方式工作。 看起来他们使用一些babel-plugin-transform-*
来做到这一点。
请找我找到如何将我的两行导出导出转换为一行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>
为了导出由上述方法创建的嵌套索引,您可以使用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';
我们需要使用preset-stage-1 。
npm install babel-preset-stage-1 --save-dev
package.json
并将stage-1
添加到babel
的presets
部分。 package.json
示例 "babel": {
"presets": [
"es2015",
"stage-1",
"react"
]
},
这是对ECMAScript的建议 - https://github.com/leebyron/ecmascript-export-default-from (仍在审核中) 。
只需使用export * from "./Button";
导出整个模块。 这将有助于您的用例。
不幸的是,没有单行语法只导出另一个模块的默认值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.