ホームページ >ウェブフロントエンド >jsチュートリアル >DENOを学ぶ:安全なJavaScriptとTypeScriptランタイム

DENOを学ぶ:安全なJavaScriptとTypeScriptランタイム

Christopher Nolan
Christopher Nolanオリジナル
2025-02-12 08:31:11619ブラウズ

2020年5月にリリースされたDeno 1.0は、大きな関心を生み出しました。この記事では、Denoの包括的な概要、その主要な機能、および人気の高まりの理由を説明します。

Learn Deno: A Secure JavaScript & TypeScript Runtime

主要な機能と利点:

Ryan Dahl(Node.jsの作成者)が作成したJavaScriptおよびTypeScriptランタイム環境であるDenoは、知覚されたnode.jsデザインの欠陥を修正することを目的としています。 そのコア強度には、デフォルトのセキュリティ、ネイティブタイプスクリプトサポート、強化されたブラウザー互換性が含まれます。 Denoは、セキュアサンドボックス内でコードを実行してセキュリティを優先し、ネットワークまたはファイルシステムアクセスの明示的な権限を要求します。 タイプスクリプトは一流の市民であり、個別のコンピレーション手順の必要性を排除します。 Node.jsのNPMやPHPの作曲家とは異なり、Denoは従来のパッケージマネージャーを避け、代わりにURLを介してモジュールを直接インポートします。 包括的な標準ライブラリは、コマンドラインとHTTPアプリケーションを構築するためのさまざまなツールを提供します。

denoとは何ですか?

Denoは、コマンドラインからJavaScriptとTypeScriptコードを直接実行するためのランタイムとして機能します。 ブラウザベースのJavaScriptとは異なり、Denoプログラムは、ファイルシステムや環境変数などのホストコンピューターリソースと対話できます。 その作成は、セキュリティ、タイプスクリプト統合、ブラウザの互換性に焦点を当てたNode.jsの設計を改善したいというDahlの欲求に由来しています。

セキュリティ:

デノのセキュリティが最重要です。 そのサンドボックス化された実行モデルは、ネットワークリソースまたはファイルシステムにアクセスするための明示的な許可グラントを必要とします。 コマンドラインフラグはこれらのアクセス許可を制御します:

(すべてを許可 - セキュリティを無効にします)、

(環境変数)、

(高解像度時間)、(ネットワークアクセス、オプションでホワイトリストドメイン)、(プラグイン - 不安定)、

(ファイルシステムの読み取りアクセス、オプションのディレクトリ/ファイルホワイトリスト)、

(サブプロセス)、および-A(ファイルシステム書き込みアクセス、オプションのホワイトリスト)。 --allow-env--allow-hrtimeタイプスクリプトサポート:--allow-net --allow-plugin --allow-read denoは、JavaScriptとTypeScriptの両方をシームレスにサポートしています。 TypeScriptは一流の言語として扱われ、事前コンパイルなしで直接的な実行を可能にします。 これにより、開発ワークフローが簡素化されます --allow-run--allow-write外部コード処理:

denoは専用のパッケージマネージャーを回避します。 外部パッケージは、URLを使用してインポートされます:

最初の実行は、その後の速度でインポートを取得、コンパイル、キャッシュします。

コマンドは再fechする力を強制します。 中央のレジストリが不足していますが、多くの場合、GitHubリポジトリにリンクされているサードパーティモジュールのリストが利用可能です。

標準ライブラリ:

Denoは、堅牢な標準ライブラリ(Golangの類似)を誇っており、外部依存関係のない多数のモジュールを提供しています。 これらのモジュールは、バージョンされたURLを介してアクセスされます

これにより、ライブラリバージョン全体のコード互換性が保証されます。 モジュールには、アーカイブ用のツール、非同期操作、バイナリデータ処理、日付/時刻操作、エンコード/デコード、コマンドライン引数解析、フォーマット出力、ファイルシステムの相互作用、ハッシュ、HTTP操作、入力/出力、ロギング、MIMEタイプ、ノードが含まれます。 .JS互換性(進行中)、パス操作、許可チェック、信号処理、テスト、UUIDS、およびWebSockets。
<code class="language-typescript">import { Client } from "https://deno.land/x/mysql@2.2.0/mod.ts";</code>

インストール&アップグレード:

denoは単一の実行可能ファイルで、さまざまな方法でインストールできます:

シェル(macos/linux):
  • curl -fsSL https://deno.land/x/install/install.sh | shpowershell(windows):
  • iwr https://deno.land/x/install/install.ps1 -useb | iexhomebrew(macos):
  • brew install denoアップグレードは、
  • またはバージョンの指定を使用して実行されます。

将来の見込み客:deno upgradedeno upgrade --version 1.0.1

denoは、以前にBashまたはPythonで書かれたユーティリティスクリプトの魅力的な代替手段です。 その採用は、現在Node.jsが支配している地域で成長すると予想されており、REST APIを構築するための新たなフレームワークと、サードパーティモジュールの継続的に拡大するエコシステムがあります。 node.jsは依然として関連していますが、Denoは監視する価値のあるテクノロジーです。

さらなる学習:

基礎(ガイド、node.jsとの比較、組み込みツール、モジュールシステム、APIインタラクション、ファイルシステム操作、ファイルシステム操作)およびプロジェクト(マイクロサービス、コマンドラインウェザーアプリ)を含むデノリソースの包括的なコレクションが利用可能です。

よくある質問:

denoとは何ですか? ​​Webブラウザ外でコードを実行するための安全で最新のJavaScript/TypeScriptランタイム。

node.js?
    ​​denoは、node.jsのnpmとは異なり、セキュリティ、組み込みのタイプスクリプトサポート、標準ライブラリ、およびURLベースのモジュールインポートを強調しています。
  • denoでnode.jsモジュールを実行できますか?は直接ではありませんが、
  • のようなツールは部分的な互換性を提供します。
  • DenoはTypeScriptをサポートしていますか?はい、ネイティブに
  • DENOはどのようにセキュリティを処理しますか? この詳細な説明は、デノとその能力の包括的な理解を提供します。denoify

以上がDENOを学ぶ:安全なJavaScriptとTypeScriptランタイムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。