Issue
Let's say I issue the following command:
deno run --allow-read /scripts/where-am-i.ts
What would need to be inside where-am-i.ts
for it to output:
/scripts
I've tried:
console.log(Deno.cwd());
which prints the directory the script was called from (/
in this example).
I have also tried:
console.log(Deno.execPath());
which prints the location of the deno binary (~/.cargo/bin/deno
for me).
Solution
You can use some utilities from the std/path
module to determine the directory of a module, based on its import meta:
so-72156289.ts
:
import * as path from "https://deno.land/std@0.138.0/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
Answered By - jsejcksn
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.