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:
let 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:
import math from './math.js';
Ofwel als volgt:
import * as math from './math.js';
Herschrijf de volgende code in ES-module stijl:
let {square, cube} = require('./math');
Herschrijf de volgende code in ES-module stijl:
let math = require('./math');
let res = math.square(2) + math.cube(3);
Herschrijf de volgende code in ES-module stijl:
let sum = require('./sum');
let res = sum([1, 2, 3]);