CommonJS-modules converteren naar ES in JavaScript
In verschillende documentaties zijn nog steeds imports in de stijl van CommonJS-modules te vinden. Je moet leren hoe je deze imports kan converteren naar standaard ES-modules.
In CommonJS worden imports uitgevoerd met behulp van de opdracht
require, waarvan het pad naar de module
als parameter wordt opgegeven. Het resultaat van de opdracht
wordt in een variabele opgeslagen:
src/index.jslet math = require('./math');
Laten we deze code herschrijven in ES-stijl.
Let allereerst op het feit dat
in CommonJS de extensie .js
niet wordt gebruikt voor bestanden, maar in ES wel.
Vervolgens hangt het allemaal af van of de module een standaard export heeft of een gewone. In CommonJS is er geen verschil, maar in ES-modules wel. Over het algemeen is het verschil zichtbaar in codevoorbeelden, of je kunt gewoon beide importvarianten proberen.
In ons geval wordt de getoonde import ofwel als volgt herschreven:
src/index.jsimport math from './math.js';
Ofwel als volgt:
src/index.jsimport * as math from './math.js';
Herschrijf de volgende code in ES-module stijl:
src/index.jslet {square, cube} = require('./math');
Herschrijf de volgende code in ES-module stijl:
src/index.jslet math = require('./math');
let res = math.square(2) + math.cube(3);
Herschrijf de volgende code in ES-module stijl:
src/index.jslet sum = require('./sum');
let res = sum([1, 2, 3]);