Respostas:
export {default as Module} from './Module/Module';
é a forma padrão do ES6, desde que não seja necessário Module
estar disponível também dentro do módulo que faz a exportação.
export Module from './Module/Module';
é uma proposta ESnext maneira de fazê-lo, mas que só funciona se você ativá-lo no Babel por enquanto.
component
agora é somente leitura e não pode ser recarregado a quente. Muito estranho!
export-extensions
aqui - babeljs.io/docs/plugins/transform-export-extensions
export { default as default } from
ouexport { default } from
Não sei por que, mas isso funciona para mim:
components / index.js:
import Component from './Component';
import Component2 from './Component2';
import Component3 from './Component3';
import Component4 from './Component4';
export {Component, Component2, Component3, Component4};
Eu importo as exportações assim:
import {Component, Component2, Component3, Component4} from '../components';
Observe que você também pode reexportar tudo de um módulo:
export * from './Module/Module';
Para componentes do React Native, esta sintaxe funciona para mim:
export {default} from 'react-native-swiper';
Portanto, descobri que isso funciona muito bem para a funcionalidade de exportação imediata de ter um index.js
na raiz do components
diretório para facilitar a referência:
import Component from './Component/Component'
import ComponentTwo from './ComponentTwo/ComponentTwo'
module.exports = {
Component,
ComponentTwo
};
Você precisa usar module.exports
.
Component
não será mais uma referência ao seu componente exportado, mas será um objeto, com sua referência de instância viva emComponent.default
module.exports
? Eu gosto desse método de empacotar um monte de componentes em um, index.js
mas não consigo descobrir a sintaxe. import x from 'x'; import y from 'y'; export default {x, y};
então import {x} from xy;
não funciona (e não consigo descobrir por que não)
export {x, y}
vez disso?
module.exports = require('./inner.js')
? e éexport { foo as default }
ES6 válido?