Javascript - Bludwarf/CodeBank GitHub Wiki
Récupérer toutes les occurences :
[... "my-string".matchAll(/my-regex/g)] // -> Array<Array<string>> : Tableau de matches
const 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 fonctionnelle
Encore une autre manière, qui nécessite de bien comprendre le hoisting.
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()
}