A backend app.js összes module-a, amikre szükség lehet.
//!Module-ok importálása
const express = require('express'); //?npm install express
const session = require('express-session'); //?npm install express-session
const path = require('path');
const fs = require('fs');
const app = express();
const router = express.Router();
//!SQL Queries importálása
const db = require(path.join(__dirname + '/sql/db-queries'));
//!Multer
const multer = require('multer');
const storage = multer.diskStorage({
destination: './uploads',
filename: (request, file, callback) => {
callback(null, file.originalname);
}
});
const upload = multer({ storage: storage });
<!--Illetve a db-queries.js-ben-->
const mysql = require('mysql');
Frontendben is tudjuk a module-t használni. Body aljára kell rakni egy <script type="module" src="index.js">. Egy példa hogyan tudunk exportálni, majd importálni objektumot vagy függvényt.
// math.js
function add(a, b) {
return a + b;
}
module.exports = add;
// index.js
const add = require('./math');
console.log(add(2, 3)); // Kimenet: 5
<!--Egyszerre többet is tudunk exportálni-->
// utils.js
module.exports = {
appName: 'MyApp',
version: '1.0.0',
multiply: (a, b) => a * b,
users: ['Alice', 'Bob', 'Charlie']
};
// main.js
const utils = require('./utils');
console.log(utils.appName); // Kimenet: 'MyApp'
console.log(utils.version); // Kimenet: '1.0.0'
console.log(utils.multiply(2, 3)); // Kimenet: 6
console.log(utils.users); // Kimenet: ['Alice', 'Bob', 'Charlie']
Post - Fetch
function postMethodFetch(url, postObject) {
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(postObject)
})
.then((response) => {
if (!response.ok) {
throw new Error(`Hiba: ${response.status}`);
}
return response.json();
})
.catch((error) => {
throw new Error(`Hiba történt: ${error.message}`);
});
}
Használata:
const url = url;
const postObject = {
title: 'foo',
body: 'bar',
userId: 1
};
postMethodFetch(url, postObject)
.then((data) => {
console.log('Siker:', data);
})
.catch((error) => {
console.error(error.message);
});
Post - Fetch, promise
function postMethodFetch(url, postObject) {
return new Promise((resolve, reject) => {
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(postObject)
})
.then((response) => {
if(!response.ok) {
reject(`Hiba: ${response.status}`);
}
return response.json();
})
.then((data) => {
resolve(data);
})
.catch((error) => {
reject(`Hiba történt: ${error.message}`);
});
});
}
Használata:
const url = url; // Egy teszt API
const postObject = {
title: 'foo',
body: 'bar',
userId: 1
};
postMethodFetch(url, postObject)
.then((data) => {
console.log('Sikeres válasz:', data);
})
.catch((error) => {
console.error('Hiba történt:', error);
});