web-dev-qa-db-fra.com

Qu'est-ce que l'harmonie et que sont les exportations d'harmonie?

Qu'est-ce que cette harmonie exporte? En fait, qu'est-ce que l'harmonie?

Contexte

Lorsque je regroupe des éléments à l'aide de Webpack et que je regarde la source de distribution, elle contient toujours ce bloc.

// 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 });
    }
};

J'ai googlé et trouvé cette page mais je n'y comprends rien. À ce jour, cette page se lit comme suit:

enter image description here

J'ai googlé plus et j'ai trouvé une question similaire demandant ce qu'est l'harmonie, mais le demandeur ne l'a jamais posée en autant de mots et la seule réponse ne vous dit pas ce que c'est.

Question

Alors, qu'est-ce que l'harmonie sur la terre verte de Dieu? Et puis, que sont les exportations d'harmonie?

En lisant la description de la balise Stack Overflow pour 'ecmascript-Harmony', je soupçonne que cela fait référence aux exportations du module ES6, mais je pense également que ce n'est pas le cas, car immédiatement après, le fichier de distribution source Webpack a une vérification de construction if si le fichier entry qu'il traite expose un module ES 6 à l'aide de l'instruction export.

// 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 });
};

Donc, cela signifie probablement autre chose que les exportations des modules ES 6? Je soupçonne que c'est l'exportation de style Common JS telle qu'implémentée dans Node?

10
Water Cooler v2

Alors, qu'est-ce que la propre terre verte de Dieu est l'harmonie?

Après que ES4 a été abandonné, les plans ont été revus à la baisse dans un nouveau projet qui avait le nom de code Harmony.

Cela a finalement évolué en ES6.

Et puis, que sont les exportations d'harmonie?

Le système d'exportation dont ES6 décrit la version finale (?).

5
Quentin