Deno provides extra properties on import.meta. These are included here
to ensure that these are still available when using the Deno namespace in
conjunction with other type libs, like dom.
Properties Jump to heading
Jump to headingurl: stringA string representation of the fully qualified module URL. When the
module is loaded locally, the value will be a file URL (e.g.
file:///path/module.ts).
You can also parse the string as a URL to determine more information about how the current module was loaded. For example to determine if a module was local or not:
const url = new URL(import.meta.url);
if (url.protocol === "file:") {
console.log("this module was loaded locally");
}
Jump to headingfilename: stringThe absolute path of the current module.
This property is only provided for local modules (ie. using file:// URLs).
Example:
// Unix
console.log(import.meta.filename); // /home/alice/my_module.ts
// Windows
console.log(import.meta.filename); // C:\alice\my_module.ts
Jump to headingdirname: stringThe absolute path of the directory containing the current module.
This property is only provided for local modules (ie. using file:// URLs).
- Example:
// Unix
console.log(import.meta.dirname); // /home/alice
// Windows
console.log(import.meta.dirname); // C:\alice
Jump to headingmain: booleanA flag that indicates if the current module is the main module that was called when starting the program under Deno.
if (import.meta.main) {
// this was loaded as the main module, maybe do some bootstrapping
}
Methods Jump to heading
Jump to headingresolve(specifier: string): stringA function that returns resolved specifier as if it would be imported
using import(specifier).
console.log(import.meta.resolve("./foo.js"));
// file:///dev/foo.js