こんにちは。
本日はDenoメモです。
概要
Denoは実行時、明示的に権限を与える必要があります。
権限の付与は、実行時にオプションをつけるだけでOKです。
権限のオプション
付与できる権限のオプションと許可する内容は以下です。
- --allow-env : 環境変数の設定や取得
- --allow-sys : オペレーティングシステムの情報を提供する API へのアクセス
- --allow-hrtime : 高精度の時間測定
- --allow-net : ネットワークアクセス
- --allow-ffi : 動的ライブラリのロード
- --allow-read : ファイルの読み取り
- --allow-run : サブプロセスの実行
- --allow-write : ファイルの書き込み
- --allow-all : すべての権限
サンプルコード
ファイルを読み込みサンプルを作ってみます。(read-file.ts)
const text = await Deno.readTextFile("./data.json"); console.log(text);
では、権限のオプションを付与せずに実行してみます。
$ deno run read-file.ts ⚠️ ┌ Deno requests read access to "./data.json". ├ Requested by `Deno.readTextFile()` API ├ Run again with --allow-read to bypass this prompt. └ Allow? [y/n] (y = yes, allow; n = no, deny) >
ファイルの読み込みの権限を付与していないので
上記のように確認の表示がされます。
では、権限を付与して実行します。
$ deno run --allow-read read-file.ts [ {"id": 1, "name": "Bob"}, {"id": 2, "name": "Jon"} ]
先ほどと異なり、メッセージが出力されることなく
読み込み結果が表示されました。
以上です。