-
Notifications
You must be signed in to change notification settings - Fork 0
Javascript
Mathieu Lavigne edited this page Oct 12, 2025
·
24 revisions
Récupérer toutes les occurences :
[... "my-string".matchAll(/my-regex/g)] // -> Array<Array<string>> : Tableau de matchesconst queryParams = new URLSearchParams({
paramName: paramStringValue,
});| NodeJS | Mozilla | |
|---|---|---|
| Acronyme | CJS pour Common.js Modules | ESM pour ES Modules (modules natifs à ECMAScript) |
| Extensions NodeJS | *.js ou *.cjs | *.mjs |
| Type package.json | 'module' |
|
| Export par défaut | module.exports = <expr>; |
export default <expr>; |
| Export nommé | export {<expr> as <id>}; |
|
| Import par défaut | const <id> = require('./module'); |
import <expr> from "./module.js"; |
| Import nommé | import {<id>} from "./module.js"; |
Pour inclure un fichier js standalone (sans gestion des modules) avec NodeJS :
require('./lib')();Avec lib.js :
if (typeof module !== 'undefined') {
module.exports = function() {
this.MaClasse = MaClasse;
}
}On peut également remplacer les déclarations par des expressions. Donc l'exemple de l'option 1 devient :
require('./lib');Avec lib.js :
MaClasse = class {} // On a transformé la déclaration de fonction en expression fonctionnelleEncore une autre manière, qui nécessite de bien comprendre le hoisting.
Réponses très intéressantes sur le build : https://stackoverflow.com/a/58042841/1655155 et https://stackoverflow.com/a/60175555/1655155
npm install --save-dev jest-environment-jsdom/**
* @jest-environment jsdom
*/
const {readFileSync} = require("fs");
window.$ = require('jquery');
test(`maFonction`, () => {
loadPage('/issues/18704');
expect(maFonction).toEqual(monAttendu)
})
function loadPage(path) {
document.body.innerHTML = readFileSync('./test-resources/pages' + path + '.html').toString()
}