Closed4

Denoのimport_mapを使ってみる

inoino

Deno-Version:deno 1.32.3
取り敢えず初期化する

deno init .
inoino

初期化すると4つファイルが出来る

  • deno.jsonc
  • main.ts
  • main_bench.ts
  • main_test.ts

vscodeにdenoの拡張機能を入れて設定を有効化する

https://marketplace.visualstudio.com/items?itemName=denoland.vscode-deno

.vscode/settings.json
{
    "deno.enable": true,
    "deno.lint": true,
    "deno.unstable": true,
}

import_mapの公式ドキュメント

https://deno.land/manual@v1.15.2/npm_nodejs/import_maps
ドキュメントに従いimport_map.jsonファイルを作成する

inoino

使用してみたいkyをドキュメントに従いimportして実行してみる
https://github.com/sindresorhus/ky

import_map.json
{
    "imports": {
      "ky":"npm:ky@0.33.3"
    }
}
main.ts
import ky from 'ky';
const res = await ky.get("https://example.com/");
console.log(res);
 deno run --allow-net --import-map import_map.json  main.ts 

初回実行時にdeno.lockファイルが自動生成されstatus: 200のレスポンスが返ってきた

inoino

https://deno.land/manual@v1.31.3/getting_started/configuration_file

import_map.jsonを削除してdeno.jsoncでimportしてみるとimport部分のエラーが解消され
型補完が効いた

deno.jsonc
{
  "imports": {
    "ky": "npm:ky@0.33.3"
  },
  "tasks": {
    "dev": "deno run --watch main.ts",
    "run": "deno run  --allow-net main.ts"
  }
}
main.ts
import ky from 'ky';
const res = await ky.get("https://example.com/");
console.log(res);
このスクラップは2023/04/08にクローズされました