search
LoginSignup
0

posted at

【Deno1.20~】import-mapを自動検出する

昔は実行時にimport-mapを自動で検出する方法が無かったため、コマンドラインフラグの--import-mapを渡す必要がありました。

deno run --import-map=./import_map.json ./mod.ts

しかし、Deno1.20以降ではdeno設定ファイルが自動検出されるようになったため、この機能を利用してimport-mapを自動検出できるようになりました。

import-mapを自動検出する方法

1. deno.jsonを作成する

deno.json(deno設定ファイル)を作成します。
作成する場所はプロジェクトフォルダのルートディレクトリでOKです。

プロジェクトフォルダ(例)
project/
 ├ deno.json
 ├ import_map.json
 └ mod.ts

ファイルの中には以下のように記述します。("import_map.json"の所は各自の環境に合わせてパスを書く)

deno.json
{
  "importMap": "./import_map.json"
}

2. 実行する

プロジェクトのルートフォルダにdeno.jsonがある状態でdeno runコマンドを実行すると、deno.jsonが自動検出されます。そして、deno.jsonの中で指定したimport-mapも自動で読み込まれます。

> deno run ./mod.ts # deno.jsonがあれば自動検出される

deno.jsonの検出アルゴリズムは、

  • ファイル名を指定した場合(例:deno run ./src/mod.ts)→ファイルがある場所からルートディレクトリに遡って探索
  • ファイル名を指定しない場合(例:deno fmt)→カレントディレクトリからルートディレクトリに遡って探索

という形になっています。
なおdeno.jsonではなくdeno.jsoncでも同様に動作します。

まとめ

import mapを自動検出するにはdeno.jsonを置く

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0