Kétféle modult használatos
Az ES6 modul böngészőkben is használható modul. Arról ismerhetjük fel, hogy export, import utasításokat használ:
A CommonJS szabvány felismerhető a következő utasításokról:
Legyen egy modules könyvtár amelyben egy employee.js állományban egy Employee osztályt tartunk:
export class Employee { static create(name) { return 'hello ' + name; } }
Az app.js fájlban használatba vesszük a modult, az import paranccsal:
import { Employee } from "./modules/employee.js"; const egy = Employee.create('Para Béla'); console.log(egy);
Az index.html fájlba ezt írjuk:
<script type="module" src="app.js"></script>
Vegyük észre a type attribútumot.
A futtatáshoz szükség van a package.json fájlban egy type tulajdonságra, module értékkel:
{ "type": "module", }
Ezzel megmondjuk, hogy ES6 modulként szeretnénk futtatni.
node app
Nulla vagy több exportált modul.
import { egy } from './modul.js'; console.log(egy())
export var egy = () => { return 'bármi'; }
{ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "lite-server" }, "devDependencies": { "lite-server": "^2.6.1" } }
Az importálás során { } párost kell használni, ebbe kell beírni az importált függvényt nevét. Az importálás módja határozza meg, hogy kell írni { } kapcsos-zárójeleket.
Nulla vagy több exportált modul.
import { Egy, Ketto} from './modul.js'; console.log(new Egy().ker()) console.log(new Ketto().csinal())
export class Egy { ker() { return 'valami'; } } export class Ketto { csinal() { return 'ezaz'; } }
{ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "lite-server" }, "devDependencies": { "lite-server": "^2.6.1" } }
Az importálás során { } párost kell használni, ebbe kell beírni az importált függvényt nevét. Az importálás módja határozza meg, hogy kell írni { } kapcsoszárójeleket.
Egyetlen exportált elem (modul) esetén használjuk.
{ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "lite-server" }, "devDependencies": { "lite-server": "^2.6.1" } }
Ahol importáljuk a modult, az elnevezés tetszőleges, mivel a modulnak nincs neve.
Egyetlen névtelen osztály esetén használjuk.
Nem használunk {} az „egy” körül:
import egy from './modul.js'; console.log(new egy().ker())
{ "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "lite-server" }, "devDependencies": { "lite-server": "^2.6.1" } }
function calcRadius(side, alpha) { if(!isValidInput(side)) { throw new Error('Hiba! Az oldal érték hibás!') } if(!isValidInput(alpha)) { throw new Error('Hiba! Az szög érték hibás!') } let rad = alpha * Math.PI / 180 return 1.0/2.0 * side * Math.sin(rad) } function isValidInput(input) { let inputStr = String(input) if(!inputStr.match(/^[0-9]+$/)) { return false } if(input <= 0) { return false } return true } export { calcRadius, isValidInput }