Respostas:
export {default as Module} from './Module/Module';
é a forma padrão do ES6, desde que não seja necessário Moduleestar 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.
componentagora é somente leitura e não pode ser recarregado a quente. Muito estranho!
export-extensionsaqui - babeljs.io/docs/plugins/transform-export-extensions
export { default as default } fromouexport { 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.jsna raiz do componentsdiretó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.
Componentnã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.jsmas 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?