[[oktatas:web:nodejs|< Node.js]]
====== CommonJS ======
* **Szerző:** Sallai András
* Copyright (c) 2021, Sallai András
* Szerkesztve: 2021-2025
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== A CommonJS =====
A CommonJS a nem böngészőben futó JavaScript szabványosítása.
A Node.js projektek alapértelmezetten CommonJS kóddal működnek.
Viszont használhatunk ESCMAScript-tet, ha azt beállítjuk a
package.json fájlban.
A CommonJS és az ECMAScript szabványok közötti fő különbség,
a külső modulok importálásában mutatkozik meg.
Importálás ECMAScriptben:
import fs from 'fs'
Importálás CommonJS-ben:
const fs = require('fs')
Webhely:
* https://commonjs.org/
===== Bekérés =====
A Node.js segítségével az alapértelmezett bemenetről olvashatunk, és írhatunk
az alapértelmezett kimenetre.
const readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});
readline.question('Mi a neved? Név: ', name => {
console.log(`Üdvözöllek ${name}!`);
readline.close();
});
===== A read csomag =====
npm init -y
npm install read
A Node.js projekt alapértelmezetten CommonJS szabványt használ.
A következő példák viszont az **import** utasítást használja, ami
ECMEScript szabvány. Két lehetőség van. A package.json fájlban a
type értéket **module**-ra állítjuk vagy a fájl kiterjesztést
**.mjs**-re állítjuk.
A Node.js projekt CommonJS alapú, .mjs kiterjesztéssel még futtatható
ECMAScript szabványt használó kód.
És fordítva.
Ha Node.js projekt ECMAScript alapú (a package.json fájlban a type értéke module),
futtathatunk CommonJS kódot ha **.cjs** kiterjesztést adunk a fájlnak.
import { read } from 'read';
(async () => {
var nev = await read({
prompt: 'Adja meg a nevét: '
});
console.log(nev);
})();
Jelszó bekérése:
import { read } from 'read';
(async () => {
var pass = await read({
prompt: 'Jelszó: ',
silent: true,
replace: '*'
});
console.log(pass);
})();