BUG : Rotation like tetris
Tetris : rotate with map !
Différence entre URL et file path.
Un chemin d'accès est une chaîne de caractères qui spécifie l'emplacement d'un fichier dans un système de fichiers. Il peut être absolu ou relatif. Voici un exemple de lecture d'un fichier à l'aide d'un chemin d'accès dans Node.js :
Une URL (Uniform Resource Locator) est une référence à une ressource web qui spécifie son emplacement sur un réseau informatique et un mécanisme pour la récupérer.
Dans Node.js, vous pouvez également utiliser les URL pour les chemins d'accès aux fichiers, ce qui est particulièrement utile pour les projets de développement.
Dans ce deuxième exemple, import.meta.url fournit une URL pour le module en cours. Cette URL est ensuite convertie en chemin de fichier à l'aide de fileURLToPath, et le chemin de fichier est utilisé pour lire un fichier.
🥷La principale différence entre les deux est que les chemins d'accès aux fichiers sont spécifiques au système de
fichiers et sont utilisés pour lire/écrire des fichiers, tandis que les URL sont plus généraux et peuvent être utilisés pour
localiser des ressources sur Internet ou sur un réseau local, en plus du système de fichiers local.
Cors : so simple
app.use(cors({ origin: /http:\/\/(127(\.\d){3}|localhost)/}));
On remarque la regExp : http:\/\/(127(\.\d){3}|localhost)
Soit http:\/\/(127(\.\d){3} cad http://127.nb.nb.nb
ou localhost
__dirname
__dirname
Dans test.mjs
🪛Oublier __dirname
DATE
Les valeurs possibles : {
weekday: 'narrow' | 'short' | 'long',
era: 'narrow' | 'short' | 'long',
year: 'numeric' | '2-digit',
month: 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',
day: 'numeric' | '2-digit',
hour: 'numeric' | '2-digit',
minute: 'numeric' | '2-digit',
second: 'numeric' | '2-digit',
timeZoneName: 'short' | 'long',
// Time zone to express it in
timeZone: 'Asia/Shanghai',
// Force 12-hour or 24-hour
hour12: true | false,
}debug
le module debug est un must !
https://www.npmjs.com/package/debug
La définition des espace de noms dépendra de votre terminal :
cmd
set DEBUG=baseRange:arg,http & node app.js
git bash
Si votre terminal est git bash lancer :
DEBUG=baseRange:arg,http node app.js
PowerShell
Si votre terminal est PowerShell lancer :
$env:DEBUG='baseRange:arg,http' ; node app.js
Github page.
Création d'un déploiement.
my-json-server
Créez son propre server JSON !
https://jsonplaceholder.typicode.com/
https://my-json-server.typicode.com/dupontdenis/myJsonServer
En action : https://github.com/dupontdenis/myJsonServer.git
Extension Rest Client
Créer un fichier app.js
- npm init -y
- npm install express
- node app.js
Créer un fichier api.http
ES6 module in nodejs
https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules/53826979#53826979
module fs
const fs = require("fs").promises;
fetch/ asyn
Promise
- function getFromGitHub() {
- const userName = 'dupontdenis';
- const url = 'https://api.github.com/users';
- fetch(`${url}/${userName}/repos`)
- .then(reposResponse => {
- return reposResponse.json();
- })
- .then(userRepos => {
- console.log(userRepos[0].owner.avatar_url)
- document.body.insertAdjacentHTML('afterbegin',`<img src=${userRepos[0].owner.avatar_url}>`)
- })
- .catch(err => {
- console.log(err);
- });
- }
- getFromGitHub();
Avec sync
- async function getFromGitHub() {
- try {
- const userName = 'dupontdenis';
- const url = 'https://api.github.com/users';
- const reposResponse = await fetch(`${url}/${userName}/repos`);
- const userRepos = await reposResponse.json();
- document.body.insertAdjacentHTML('afterbegin',`<img src=${userRepos[0].owner.avatar_url}>`)
- } catch (error) {
- console.log(error);
- }
- }
- getFromGitHub();