Допустим, у меня есть два модуля es myModule / A и myModule / B , и я хочу экспортировать их в мой myModule / index файл. Для этого мне нужно:
- Приблизительно A:
// myModule/index.es
import moduleA from './A';
import moduleB from './B';
export { moduleA, moduleB };
Бабель передаст код, как показано ниже:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.moduleB = exports.moduleA = undefined;
var _A = require('./A');
var _A2 = _interopRequireDefault(_A);
var _B = require('./B');
var _B2 = _interopRequireDefault(_B);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.moduleA = _A2.default;
exports.moduleB = _B2.default;
- Прибл. B:
// myModule/index.es
export { default as moduleA } from './A';
export { default as moduleB } from './B';
Бабель передаст код, как показано ниже:
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _A = require('./A');
Object.defineProperty(exports, 'moduleA', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_A).default;
}
});
var _B = require('./B');
Object.defineProperty(exports, 'moduleB', {
enumerable: true,
get: function get() {
return _interopRequireDefault(_B).default;
}
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
Может кто-нибудь объяснить, почему у нас разные результаты ?. Спасибо!