[[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); })();