webpack生成的这段代码起什么作用?什么时候会用到?// define getter function for harmony exports __webpack_require__.d = function (exports, name, getter) { if (!__webpack_require__.o(exports, name)) { Object.defineProperty(exports, name, { configurable: false, enumerable: true, get: getter }) } } // getDefaultExport function for compatibility with non-harmony modules __webpack_require__.n = function (module) { var getter = module && module.__esModule ? function getDefault () { return module['default'] } : function getModuleExports () { return module } __webpack_require__.d(getter, 'a', getter) return getter } // Object.prototype.hasOwnProperty.call __webpack_require__.o = function (object, property) { return Object.prototype.hasOwnProperty.call(object, property) }
1 回答
隔江千里
TA贡献1906条经验 获得超10个赞
看注释第一个是用于 export {aaa, bbb},import {aaa} from 'modules'
第二个是用于export default ccc,import ccc from 'modules和modules.exports ={}这两种。
babel编译的时候会将export default 编译为export.default,这个跟es6的默认导出其实是不相符的,所以需要判断处理,代码中的
// 缩减了
// 是es规范么? 是就导出.default
module.__esModule ? return module['default']
就是做的这一块。
添加回答
举报
0/150
提交
取消