我目前正在通过webpack/babel在React应用程序中使用ES6.我正在使用索引文件来收集模块的所有组件并将其导出.不幸的是,这看起来像这样:
import Comp1_ from './Comp1.jsx';
import Comp2_ from './Comp2.jsx';
import Comp3_ from './Comp3.jsx';
export const Comp1 = Comp1_;
export const Comp2 = Comp2_;
export const Comp3 = Comp3_;
Run Code Online (Sandbox Code Playgroud)
所以我可以很好地从其他地方导入它,如下所示:
import { Comp1, Comp2, Comp3 } from './components';
Run Code Online (Sandbox Code Playgroud)
显然这不是一个非常好的解决方案,所以我想知道,如果有任何其他方式.我似乎无法直接导出导入的组件.
是否有使用ES6或ES7或babel的语法,这将允许我轻松地将许多子文件组捆绑在一起?
例如,给出:
./action_creators/index.js
./action_creators/foo_actions.js
./action_creators/bar_actions.js
Run Code Online (Sandbox Code Playgroud)
让index.js导入foo和bar动作,然后重新导出它们,所以我可以
import {FooAction, BarAction} from './action_creators/index.js'
Run Code Online (Sandbox Code Playgroud)
如果我要更改我自己组织对象的文件,我不想记住/更改引用.
// before
module.exports = require('./inner.js');
// nowadays
export default from './inner.js';
Run Code Online (Sandbox Code Playgroud)
我正在努力做到这一点,但是babel只在es7阶段1中允许它,因为它现在是提议.所以现在,我坚持这两行:
import sticker from './box-sticker.jsx';
export default sticker;
Run Code Online (Sandbox Code Playgroud)
我可以将它们缩短为一个吗?