为了账号安全,请及时绑定邮箱和手机立即绑定

webpack生成的这段代码起什么作用?

webpack生成的这段代码起什么作用?

神不在的星期二 2019-02-28 18:21:09
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']

就是做的这一块。


查看完整回答
反对 回复 2019-03-03
  • 1 回答
  • 0 关注
  • 452 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信