ES6 Module
export
源代码:
export const demacia = 'vn'
export function hero(name) {
console.log(name)
}
const core = {
version: '1.0'
}
export default core
webpack 打包代码:
// 函数参数由 webpack 提供function(module, exports, __webpack_require__) {
"use strict"
// Symbol.toStringTag 是供 Object.prototype.toString 调用,这段代码作用是 // 标识 exports 为模块,即 Object.prototype.toString.call(exports) === '[object Module]' if (typeof Symbol !== undefined && Symbol.toStringTag) {
Object.defineProperty(exports, Symbol.toStringTag, {
value: 'Module'
})
}
/* 定义exports.__esModule = true */
Object.defineProperty(exports, __esModule, {
value: 'true'
})
function hero(name) {
console.log(name)
}
var demacia = 'vn'
var core = {
version: '1.0'
}
// 这么些目的是为了符合 ES6 Module 的特性,输出的是值的引用。 Object.defineProperty(exports, 'demacia', function () {
return demacia
})
Object.defineProperty(exports, 'hero', function () {
return hero
})
exports["default"] = core
}
import
源代码:
import core, { demacia, hero } from './core'
console.log(c