node:path
O módulo node:path no Azion Runtime: funções que unem, analisam e normalizam strings de caminho, exemplos de roteamento e análise e as APIs suportadas.
O módulo node:path fornece os utilitários do Node.js para trabalhar com caminhos de arquivos e diretórios. Suas funções unem, dividem, normalizam e analisam caminhos, e uma function as usa para construir caminhos quando roteia requisições ou compõe referências a assets. O Azion Runtime não dá a uma function acesso a um sistema de arquivos real, então toda função de path opera apenas em strings de caminho. Por exemplo, path.resolve() retorna uma string sem ler um diretório.
Exemplos
As functions abaixo são executadas de forma independente: cada uma importa path de node:path, e cada saída é a que uma function com deploy feito retorna.
Operações básicas com path
Esta function une três segmentos em um caminho, registra o caminho no log e o retorna no corpo da resposta:
A function registra Path /images/image.jpg no log e responde com este corpo:
Roteamento de URL com path
Esta function divide o caminho da requisição em diretório, nome do arquivo e extensão. Depois, constrói um caminho de API e um caminho absoluto a partir dessas partes:
Para uma requisição a /docs/getting-started, um caminho sem extensão de arquivo, a function responde com cada parte do caminho e os dois caminhos que construiu:
Normalização e análise de caminhos
Esta function normaliza um caminho que contém .., . e uma barra dupla. Depois, analisa um caminho em suas partes, constrói um caminho a partir de um objeto e verifica se dois caminhos são absolutos:
A function responde com o caminho normalizado, as partes analisadas, o caminho formatado e as duas verificações:
Separadores de caminho e variantes de plataforma
Esta function une os mesmos segmentos com as variantes padrão, POSIX e Windows do módulo e lê cada separador e o delimitador:
A function responde com o mesmo caminho unido e o separador / nas três variantes, e com : como delimitador:
APIs suportadas
A tabela lista o status de cada API de node:path no Azion Runtime:
| API | Status |
|---|---|
path.basename() | 🟢 Com suporte |
path.dirname() | 🟢 Com suporte |
path.extname() | 🟢 Com suporte |
path.format() | 🟢 Com suporte |
path.isAbsolute() | 🟢 Com suporte |
path.join() | 🟢 Com suporte |
path.normalize() | 🟢 Com suporte |
path.parse() | 🟢 Com suporte |
path.relative() | 🟢 Com suporte |
path.resolve() | 🟢 Com suporte |
path.sep | 🟢 Com suporte |
path.delimiter | 🟢 Com suporte |
path.posix | 🟢 Com suporte |
path.win32 | 🟡 Suporte parcial |
path.win32.join() une segmentos com /, então path.win32.join("C:\\a", "b") retorna C:/a/b, e path.win32.sep é /.
Toda função de path opera em strings de caminho, sem acesso ao sistema de arquivos. path.resolve() resolve segmentos relativos a partir de /, então path.resolve("a", "b") retorna /a/b. Para trabalhar com o caminho de uma requisição, leia-o com a API Web URL, como em new URL(event.request.url).pathname, e passe-o para as funções de node:path.