首页 > 解决方案 > 什么是和谐,什么是和谐出口?

问题描述

这是什么和谐出口?其实,什么是和谐?

背景

当我使用 Webpack 打包东西并查看分发源时,它总是包含这一块。

// define getter function for harmony exports
__webpack_require__.d = function(exports, name, getter) {
    if(!__webpack_require__.o(exports, name)) {
        Object.defineProperty(exports, name, { enumerable: true, get: getter });
    }
};

我用谷歌搜索并找到了这个页面,但我对它一无所知。截至今天,此页面的内容如下:

在此处输入图像描述

我用谷歌搜索了更多,发现了一个类似的问题,询问什么是和谐,但提问者从来没有问过这么多词,唯一的答案并没有告诉你它是什么。

问题

那么,在上帝自己的绿地上,和谐是什么?那么什么是和谐出口?

阅读 'ecmascript-harmony' 的 Stack Overflow 标签描述,我怀疑它指的是 ES6 模块导出,但我也认为不是这样,因为紧接着,Webpack 源分发文件有一个if结构检查entry它是否是文件处理使用该export语句公开一个 ES 6 模块。

// define __esModule on exports
__webpack_require__.r = function(exports) {
    if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
        Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    Object.defineProperty(exports, '__esModule', { value: true });
};

那么,这可能意味着 ES 6 模块导出以外的其他东西?我怀疑这是在 Node 中实现的Common JS样式导出?

标签: javascriptwebpackecmascript-harmony

解决方案


那么,在上帝自己的绿地上,和谐是什么?

在 ES4 被放弃后,计划在一个代号为 Harmony 的新项目中缩减。

这最终演变成 ES6。

那么什么是和谐出口?

ES6 描述的最终(?)版本的导出系统。


推荐阅读