Molte app devono gestire il file system locale, possibilmente per servire file statici, leggere / scrivere file per dati caricati, dati temporanei, log, osservazioni, letture, ecc. Per gestire efficacemente il file system locale, è necessario avere un modo semplice per gestire i percorsi locali, come:
In questo articolo, esamineremo l'utilizzo delle funzioni più utili dal modulo path insieme ad alcuni esempi.
Per utilizzare il pathmodulo, importalo integralmente dalla libreria standard o da alcune funzioni specifiche:
import * as path from "https://deno.land/std/path/mod.ts";
//or
import { basename, dirname } from "https://deno.land/std/path/mod.ts";
basename('/var/tmp/a.log');
// a.log
basename('/var/tmp/a');
// a
basename('/var/tmp');
// tmp
basename('./');
// .
basename('../');
// ..
dirname('/var/tmp/a.log');
// /var/tmp
dirname('/var/tmp');
// /var
dirname('./a/b/c');
// ./a/b
dirname('.');
// .
path.extname('/var/tmp/a.log');
// .log
path.extname('/var/tmp');
//
path.extname('.');
//
path.format({root: '/', dir: '/var/tmp/', ext: '.log', name: 'a'});
// /var/tmp/a.log
path.format({dir: './a/b', name: 'd.txt'});
// ./a/b/d.txt
path.format({root: '/', dir: '.', name: 'd', ext: '.xls'});
// ./d.xls
path.fromFileUrl('file:///var/tmp/a.log');
// /var/tmp/a.log
path.fromFileUrl('file://../a/b/c/d.txt');
///a/b/c/d.txt
path.fromFileUrl('file:///a/b/c/d/./e/f/g');
// /a/b/c/d/e/f/g
path.isAbsolute('/var/tmp/a.log');
// true
path.isAbsolute('/var/tmp/../a.log');
// true
path.isAbsolute('./a/b/c/d/a.log');
// false
path.join('/', 'var', 'tmp', 'a.log');
// /var/tmp/a.log
path.join('/', 'var', 'tmp', 'a/b', 'c', 'd/e/f', '../../', 'a.log');
// /var/tmp/a/b/c/d/a.log
path.join('./', 'a/b', 'c', 'd/e/f', '../', 'a.log');
// a/b/c/d/e/a.log
path.normalize('/var/./tmp/c/../a.log');
// /var/tmp/a.log
path.normalize('/var/./tmp/c/../../a.log');
// /var/a.log
path.normalize('./../../a/b/c/d/../../e/f/a.log');
// ../../a/b/e/f/a.log
path.parse('/var/tmp/a.log');
// { root: "/", dir: "/var/tmp", base: "a.log", ext: ".log", name: "a" }
path.parse('./a/b/a.log');
// { root: "", dir: "./a/b", base: "a.log", ext: ".log", name: "a" }
path.parse('../../a/b/a.log');
// { root: "", dir: "../../a/b", base: "a.log", ext: ".log", name: "a" }
path.parse('/var/tmp');
// { root: "/", dir: "/var", base: "tmp", ext: "", name: "tmp" }
path.resolve('/var/tmp/a.log');
// /var/tmp/a.log
path.resolve('./', 'c/d/e', 'a.log');
// /Users/mayankc/Work/source/denoExamples/c/d/e/a.log
path.resolve('.', '..', '../../', 'a/b', 'c', 'd.txt');
// /Users/mayankc/a/b/c/d.txt
path.resolve('/var/tmp/./a/b/c');
// /var/tmp/a/b/c
path.resolve('/var/tmp/', '.', '..', 'a/b', 'c', 'd.txt');
// /var/a/b/c/d.txt
path.toFileUrl('/var/tmp/a.log');
// URL {href: "file:///var/tmp/a.log", origin: "null", protocol: "file:", username: "", password: "", host: "", hostname: "", port: "", pathname: "/var/tmp/a.log", hash: "", search: ""}
path.toFileUrl('/var/tmp/a.log').href;
// file:///var/tmp/a.log
path.toFileUrl('./a/b/c/a.log').href;
// TypeError: Must be an absolute path
I recenti articoli sulla serie di confronto delle prestazioni sono diventati piuttosto popolari nella comunità media. Inizialmente, ho confrontato il server nativo di Node/Deno/Bun con SpringBoot.
Poche settimane dopo il rilascio di Nx 15.7 (video di rilascio qui), il team Nx ha ora lanciato Nx 15.
La scorsa settimana ho notato un comunicato stampa, inviato tramite PressGazette (un sito Web di notizie sui media britannici). L'articolo annunciava che Acast, la società di hosting e pubblicità di podcast di Scandi, avrebbe guidato un consorzio di editori "probabilmente i più influenti" nel podcasting.
Ieri abbiamo chiuso le porte dell'Eurovision Song Contest di quest'anno con un gran finale scintillante e caotico in cui la cantante svedese Loreen ha portato a casa il trofeo, diventando la prima donna a vincere due volte e riportando la corona alla Svezia 50 anni dopo che gli ABBA hanno vinto la competizione con "Waterloo". Hanno continuato a diventare uno dei più grandi artisti nel canone della musica pop.
Ciò che è vecchio ora è di nuovo nuovo e ciò che prima era la cosa luccicante e scintillante ora sembra noioso. Non sto parlando dei jeans JNCO che stanno tornando in auge tra i ragazzi fighi del centro insieme ad altre mode di fine anni '90.