21

現在のモジュールのディレクトリとファイル名を取得するにはどうすればよいですか? Node.js では、次を使用します: __dirname&__filenameそのために

4

1 に答える 1

25

Deno には__dirnameorのような変数はありません__filenameが、おかげで同じ値を取得できます。import.meta.url

URLそのためにコンストラクターを使用できます。

const __filename = new URL('', import.meta.url).pathname;
// Will contain trailing slash
const __dirname = new URL('.', import.meta.url).pathname;

注: Windows では/、以下に示すメソッドが Windows で機能します。


また、使用できますstd/path

import * as path from "https://deno.land/std@0.57.0/path/mod.ts";

const __filename = path.fromFileUrl(import.meta.url);
// Without trailing slash
const __dirname = path.dirname(path.fromFileUrl(import.meta.url));

別の方法として、次のようなサードパーティ モジュールを使用することもできます。deno-dirname

import { __ } from 'https://deno.land/x/dirname/mod.ts';
const { __filename, __dirname } = __(import.meta);
于 2020-05-15T22:30:48.267 に答える