🫠
cryptoをインポートする時に困った話
インポート
import crypto from 'node:crypto'
で、インポートしようとしたら、
「モジュール '"node:crypto"' に既定エクスポートがありません。」と怒られた。
助けてCopilot
vscodeのエラー表示部から、拡張機能として追加した「GitHub Copilot」のクイックフィックスを利用したところ
import * as crypto from 'crypto'
に修正され、インポートできた。
既定エクスポートがない場合、
import * as ~
とするといいらしい。
色々調べてもよく分からなかったことも、Copilotくんに頼めばサクッと解決してくれる。
頼りになるなぁ。
おしまい
おまけ
import * as crypto from 'node:crypto'
でも大丈夫だが、'node:'はなくてもいいらしい。
import { createHash, randomBytes } from 'crypto'
として、使うものだけインポートすることもできる。
その場合、呼び出しは、
crypto.createHash()~
ではなく
createHash()~
とする。
なお、上記のような別の対応方法も、Copilotくんが候補としてあげてくれる。
(クイックフィックス実行後、更新ボタンを押すと、別候補が出力される。)
Copilot、すごい。
Discussion