Javascript ES2015 (ES6) modules in the browsers

ECMAScript modules in browsers

Browsers have had support for loading ECMAScript modules directly (no tools like Webpack required) since Safari 10.1, Chrome 61, Firefox 60 (2018-05-08), and Edge 16.

Check the current support at caniuse.

There is no need to use Node.js’ .mjs extension;

Browsers completely ignore file extensions on modules/scripts .

https://eloquentjavascript.net/13_browser.html

You can load ES modules (see Chapter 10 ) in the browser by giving your script tag a type=”module” attribute.

Such modules can depend on other modules by using URLs relative to themselves as module names in import declarations.

Quelle est la prise en charge actuelle des modules ES ? (2018)

Avec la sortie de Firefox 60 en mai 2018 , l’ensemble des principaux navigateurs prendra en charge les modules ES par défaut.

Node travaille également sur le sujet et un groupe de travail dédié se concentre sur les problèmes de compatibilité entre les modules CommonJS et les modules ES.

Cela signifie qu’on pourra utiliser la balise script avec type=module ainsi que des imports et des exports.

D’autres fonctionnalités relatives aux modules sont dans les tuyaux.

La proposition concernant l’import dynamique fait partie de ES2020 .

Il en va de même avec import.meta qui aidera à gérer certains cas d’utilisation pour Node.js.

Enfin, la proposition sur la résolution des modules aidera à atténuer les différences entre les navigateurs et Node.js. En bref, le meilleur reste à venir.

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/60

JavaScript

ECMAScript 2015 modules have been enabled by default in (bug 1438139 ). See ES6 In Depth Modules and ES modules A cartoon deep dive for more information, or consult MDN reference docs:

Updated

Useful guides

ES6 module with Django template