Ответы:
export {default as Module} from './Module/Module';
- это стандартный способ ES6, если вам не нужно Module
быть доступным внутри модуля, выполняющего экспорт.
export Module from './Module/Module';
- это предлагаемый ESnext способ сделать это, но он работает, только если вы пока включили его в Babel.
component
теперь он доступен только для чтения и не может быть перезагружен. Очень странно!
export-extensions
здесь - babeljs.io/docs/plugins/transform-export-extensions
export { default as default } from
orexport { default } from
Не знаю почему, но у меня это работает:
компоненты / index.js:
import Component from './Component';
import Component2 from './Component2';
import Component3 from './Component3';
import Component4 from './Component4';
export {Component, Component2, Component3, Component4};
Я импортирую экспорт следующим образом:
import {Component, Component2, Component3, Component4} from '../components';
Обратите внимание, что вы также можете повторно экспортировать все из модуля:
export * from './Module/Module';
Для компонентов React Native у меня работает этот синтаксис:
export {default} from 'react-native-swiper';
Итак, я обнаружил, что это очень хорошо работает для функции немедленного экспорта, имея index.js
в корне components
каталога для удобства ссылки:
import Component from './Component/Component'
import ComponentTwo from './ComponentTwo/ComponentTwo'
module.exports = {
Component,
ComponentTwo
};
Вам нужно использовать module.exports
.
Component
это больше не будет ссылкой на ваш экспортированный компонент, а вместо этого будет объект со ссылкой на ваш экземплярComponent.default
module.exports
? Мне нравится этот метод упаковки кучи компонентов в файл, index.js
но я не могу понять синтаксис. import x from 'x'; import y from 'y'; export default {x, y};
то import {x} from xy;
не работает (и я не могу понять, почему нет)
export {x, y}
вместо этого?
module.exports = require('./inner.js')
? а действительно лиexport { foo as default }
ES6?