Búsqueda de sitios web

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

Artículos relacionados