javascript - ¿Cómo determinar la ubicación del script de deno?
Digamos que emito el siguiente comando:
deno run --allow-read /scripts/where-am-i.ts
¿Qué necesitaría estar dentro de where-am-i.ts para que muestre:
/scripts
He intentado:
console.log(Deno.cwd());
que imprime el directorio desde el que se llamó al script (/ en este ejemplo).
También he intentado:
console.log(Deno.execPath());
que imprime la ubicación del binario de deno (~/.cargo/bin/deno para mí).
Respuesta #1
Puedes usar algunas utilidades del módulo std/path para determinar el directorio de un módulo, basándote en su meta de importación:
so-72156289.ts:
import * as path from "https://deno.land/[email /path/mod.ts";
function getModuleDir(importMeta: ImportMeta): string {
return path.resolve(path.dirname(path.fromFileUrl(importMeta.url)));
}
const dir = getModuleDir(import.meta);
console.log(dir);
deno run /Users/deno/examples/so-72156289.ts
/Users/deno/examples
