See how Stencil fits into the entire Ionic Ecosystem ->
Stencil is part of the Ionic Ecosystem ->

Denoランタイム

EXPERIMENTAL:DenoとStencilがどのように機能するかはまだ初期の段階なので、この実験的なラベルを付けます。

従来、StencilとWebエコシステム用の今日のCLIの多くは、Node上で実行されていました。 ただし、Stencilコンパイラは、ノード環境だけにロックダウンされるのではなく、ブラウザのメインスレッド、Webワーカースレッド、最新のJSランタイムDenoなどのJavaScriptランタイムから実行できます。Deno、V8を使用し、Rustに組み込まれているJavaScriptおよびTypeScript用のシンプルでモダンで安全なランタイムです。

Stencilのアーキテクチャでは、ランタイムと相互作用するシステム(sys)を渡すことができます。 たとえば、ノードの fsreaddir()を使用し、コールバックを渡す必要がありますが、DenoはreadDir()(大文字のD)を使用してpromiseを返します。 同じ概念がブラウザーとWebワーカーのシステムに適用されます。これにより、コンパイラーは、あらゆるJSランタイムに対して汎用性と汎用性を維持できます。

Deno StencilCLIのインストール

Stencilコンパイラとそのコマンドラインインターフェイス(CLI)もDenoで実行できますが、従来のノードCLIとは動作が異なります。 最大の違いは、Denoには一元化されたパッケージマネージャーがないため、Denoには同等のnpmがないことです。

Denoには npm installコマンドはありませんが、代わりにインストールする実行可能スクリプトの外部URLを指定します。 Denoのインストールの後、次のコマンドを実行します。

deno install -n stencil --allow-read --allow-write --allow-net https://stenciljs.com/cli.ts

これをもう少し分解して、このコマンドが何をしているのかを説明しましょう。

コマンド/引数 説明
deno Denoコマンドはすでにインストール済みです。
install インストーラースクリプト引数。
-n インストールする実行可能ファイルに付ける名前。
stencil stencilはこの例では実行可能ファイルの名前ですが、必要に応じてカスタマイズできます。
--allow-read CLIはファイルにアクセスする必要があるため、このオプションを使用すると、CLIでローカルファイルを読み取ることができます。
--allow-write CLIはファイルを書き込む必要もあります。
--allow-net CLIは、依存関係をインストールするには、ネットにアクセスする必要があります。
https://stenciljs.com/cli.ts StencilのDenoインストーラーの場所。

心配しないでください。このコマンドは、DenoでStencilを実行するたびに実行する必要はありませんが、代わりにインストールするだけで、マシンに実行可能ファイルの名前「stencil」を付けます。インストール中に、追加のスクリプトファイルがどこから来ているかがわかります。この場合は https://cdn.jsdelivr.net/npm/です。

インストール後、グローバルな stencilコマンドを使用できるようになり、CLIのhelpコマンドを実行してテストできます。

stencil help

Deno StencilCLIの更新

インストールされているDenoStencil CLIを更新するには、「-f」オプションを追加して、既存の実行可能ファイルを「強制」上書きし、最新のものを再インストールします。

deno install -n stencil --allow-read --allow-write --allow-net -f https://stenciljs.com/cli.ts

Deno Stencil CLIの実行

インストーラースクリプトが正常に実行されると、 stencil実行可能ファイルをノードCLIと同じオプションで使用できるようになります。 使用可能なすべてのオプションについては、CLIドキュメントを参照するか、stencil helpを実行してください。

stencilは現在グローバルな実行可能ファイルですが、その目標は、個々のアプリケーションのローカルStencilバージョンを実行することを目的としています。 インストールされたコマンドは単なるエントリですが、特定のコンパイラバージョンにロックされていません。 stencilコマンドを実行すると、ローカルにインストールされたインストールステンシルコンパイラが使用されているように見えます。まだインストールされていない場合は、最新のステンシルバージョンが動的にロードされます。

Deno CLIはまだ実験段階であり、generateコマンドはまだ移植されていません。

BackNext
Contributors