oktatas:web:back-end_framework:express:cors
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalonElőző változat | |||
oktatas:web:back-end_framework:express:cors [2025/07/18 11:11] – [Szerver] admin | oktatas:web:back-end_framework:express:cors [2025/08/01 10:14] (aktuális) – eltávolítva admin | ||
---|---|---|---|
Sor 1: | Sor 1: | ||
- | [[: | ||
- | ====== Express - Cors ====== | ||
- | |||
- | * **Szerző: | ||
- | * Copyright (c) 2023, Sallai András | ||
- | * Szerkesztve: | ||
- | * Licenc: [[https:// | ||
- | * Web: https:// | ||
- | |||
- | ===== Szerver ===== | ||
- | |||
- | Készítsünk egy egyszerű express szervert. Legyen a projektkönyvtár neve api. | ||
- | Tegyük Node.js projektté, majd telepítsük az express csomagot. A szerver | ||
- | állományait az **app** nevű könyvtárban fogjuk elhelyezni. | ||
- | |||
- | < | ||
- | mkdir api | ||
- | cd api | ||
- | npm init -y | ||
- | npm install express | ||
- | mkdir app | ||
- | </ | ||
- | |||
- | Az útválasztás a routes.js fájlban: | ||
- | |||
- | <code javascript app/ | ||
- | const Router = require(' | ||
- | const router = new Router() | ||
- | |||
- | router.get('/ | ||
- | res.json({message: | ||
- | }) | ||
- | |||
- | module.exports = router | ||
- | </ | ||
- | |||
- | A szerver belépési pontja, az index.js fájl tartalma: | ||
- | |||
- | <code javascript app/ | ||
- | const express = require(' | ||
- | const router = require(' | ||
- | const app = express() | ||
- | |||
- | app.use(express.json()) | ||
- | app.use('/', | ||
- | |||
- | PORT = process.env.PORT || 8000 | ||
- | app.listen(PORT, | ||
- | console.log(`Listening: | ||
- | }) | ||
- | </ | ||
- | |||
- | Indítsuk el, például így: | ||
- | node app | ||
- | |||
- | |||
- | Ha Insomnia, Postman, HTTPie, Resen (res) vagy curl segítségével nézem meg az API-t, nincs probléma. | ||
- | |||
- | Teszteljük valamelyik HTTP klienssel. Például res ((Telepítés: | ||
- | res localhost: | ||
- | |||
- | |||
- | ===== Készítsünk klienst ===== | ||
- | |||
- | Készítsünk egy weblapot Node.js projektként: | ||
- | < | ||
- | mkdir web | ||
- | cd web | ||
- | npm init -y | ||
- | mkdir src | ||
- | </ | ||
- | |||
- | Legyen egy egyszerű weblap, ami futtat egy fetch() függvényt, | ||
- | a konzolon szeretnénk látni. | ||
- | |||
- | <code javascript src/ | ||
- | < | ||
- | <script src=" | ||
- | </ | ||
- | </ | ||
- | |||
- | <code javascript src/ | ||
- | fetch(' | ||
- | .then((res) => res.json()) | ||
- | .then((data) => console.log(data)) | ||
- | </ | ||
- | |||
- | |||
- | Futtassuk weblapunkat egy szerveren, például browser-sync. Telepítés: | ||
- | npm install browser-sync | ||
- | |||
- | Írjunk egy egyszerű indító scriptet: | ||
- | <code javascript package.json> | ||
- | { | ||
- | " | ||
- | " | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | |||
- | Ha el van indítva az API szerver indítsuk el a webes felület szerverét is. | ||
- | |||
- | npm start | ||
- | |||
- | A webes felület a böngészőben megnézve, nyissuk meg a fejlesztői felület | ||
- | konzol részét. | ||
- | |||
- | Ehhez hasonló | ||
- | |||
- | < | ||
- | ' | ||
- | by CORS policy: No ' | ||
- | header is present on the requested resource. | ||
- | </ | ||
- | |||
- | A konzolon Cors beállítási problémákat látunk. | ||
- | |||
- | ===== A cors beállítása ===== | ||
- | |||
- | Az API szerveren telepítsük a cors csomagot: | ||
- | |||
- | npm install cors | ||
- | |||
- | <code javascript app/ | ||
- | const cors = require(' | ||
- | |||
- | app.use(cors()) | ||
- | </ | ||
- | |||
- | Ezzel a beállítással már működik, de így mindenhonnan beenged a klienseket. | ||
- | |||
- | Szabályozhatjuk honnan engedélyezzük. Egy teljesebb kóddal: | ||
- | |||
- | <code javascript app/ | ||
- | const express = require(' | ||
- | const router = require(' | ||
- | const app = express() | ||
- | |||
- | const cors = require(' | ||
- | var corsOptions = { | ||
- | | ||
- | } | ||
- | app.use(cors(corsOptions)) | ||
- | |||
- | app.use(express.json()) | ||
- | app.use('/', | ||
- | |||
- | PORT = process.env.PORT || 8000 | ||
- | app.listen(PORT, | ||
- | console.log(`Listening: | ||
- | }) | ||
- | </ | ||
- | |||
- | ===== Néhány lehetőség ===== | ||
- | |||
- | Több hely is megadható tömbként: | ||
- | |||
- | <code javascript> | ||
- | const corsOptions = { | ||
- | origin: [ | ||
- | ' | ||
- | ' | ||
- | ], | ||
- | } | ||
- | </ | ||
- | |||
- | Bárhonnan beengedés: | ||
- | |||
- | <code javascript> | ||
- | const corsOptions = { | ||
- | origin: ' | ||
- | } | ||
- | </ | ||
- | |||
- | Így olyan mintha opciók nélkül futtatnánk. | ||
- | |||
- | |||
- | ===== Linkek ===== | ||
- | |||
- | Lásd még: | ||
- | * https:// |
oktatas/web/back-end_framework/express/cors.1752829916.txt.gz · Utolsó módosítás: 2025/07/18 11:11 szerkesztette: admin