TL DR
, import require. import X from "Y" , . , require, , . .default, require, : require("./foo").default.
, Babel :
export { x }
:
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.x = x;
, x . :
require("module").x;
x. :
export default new Foo();
:
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = new Foo();
, exports default, x x. , require :
require("module").default;
, undefined. :
var Foo = require("./foo");
Foo default:
{
default: //Whatever was exported as default
}
, Foo.bar undefined, bar. , default.
, , . , .default. module.exports = exports["default"] module.exports ES5 exports["default"]. 1
import require
import, Babel :
import Foo from "./foo";
Foo.bar();
:
"use strict";
var _foo = require("./foo");
var _foo2 = _interopRequireDefault(_foo);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
_foo2.default.bar();
, Babel require . _interopRequireDefault . obj && obj.__esModule, , -, ES2015/ES6. , , { default: obj }. , module.exports = x ES5 , export default x ES2015/ES6. , Babel .default .
require:
var Foo = require("./foo");
Foo.bar();
ES5, . , .default Foo, . , .
1 , module.exports exports , . . module.exports , . , module.exports = x x .default require, module.exports . module.exports , require("module") module.exports, x. module.exports 3, require("module") 3. module.exports { blah: "foo" }, require("module") { blah: "foo" }. module module.exports .
, exports.default ( , module.exports), default, . exports = x x , exports module.exports, , exports module.exports.