ホームページ >ウェブフロントエンド >jsチュートリアル >モジュラーJavaScript:SystemJS&JSPMの初心者ガイド
著者のモジュール
依存関係としてインストールされている外部モジュール
ES6は、標準モジュールの構文をJavaScriptとローダー仕様にもたらします。これは良い前進ですが、執筆時点では、ES6モジュールをネイティブにロードできるブラウザはありません。これは、今日モジュールを使用したい場合は、モジュールバンドラーを使用する必要があることを意味します。
JavaScriptパッケージマネージャー(別名JSPM)は、SystemJS Universal Module Loaderの上で動作するパッケージマネージャーです。独自のルールセットを備えたまったく新しいパッケージマネージャーではなく、既存のパッケージソースの上に動作します。箱から出して、GithubとNPMで動作します。 BowerベースのパッケージのほとんどはGitHubに基づいているため、JSPMを使用してこれらのパッケージをインストールすることもできます。一般的に使用されるフロントエンドパッケージのほとんどをリストして、インストールを容易にするレジストリがあります。 NPMと同様に、インストール中にパッケージを開発および生産パッケージとして区別するために使用できます。
SystemJSは、今日使用されている人気のある形式のいずれかで実行時にモジュールをインポートできるモジュールローダーです(CommonJS、UMD、AMD、ES6)。 ES6モジュールローダーポリフィルの上に構築されており、使用されている形式を検出して適切に処理するのに十分なほどスマートです。 SystemJSは、ES6コード(BabelまたはTraceurを使用)またはプラグインを使用してTypeScriptやCoffeeScriptなどの他の言語を透過することもできます。モジュールをインポートする前に、これらのことをSystem.config({...})内で構成します。jspmはSystemJSを使用してパッケージとその依存関係を管理するため、パッケージを適切な順序に配置することを心配する必要はありません。
JSPMとSystemJSが何であるかがわかったので、それらの使用方法を見てみましょう。環境のセットアップ
まだいない場合は、node.jsをインストールする必要があります。これを行うための特に簡単な方法は、バージョンマネージャー(NVMなど)を使用することであり、このクイックヒントに詳述されています。ノードで稼働したら、コマンドラインから以下を実行してJSPMをグローバルにインストールできます。
これにより、New-Projectという名前のディレクトリが作成され、NPMプロジェクトの初期化とJSPMがローカルにインストールされます。これは、プロジェクトのJSPMバージョンをロックし、グローバルJSPMへのアップグレードがアプリケーションの動作を変更しないことを保証するため、推奨されることを行う方法です。 このアプローチのもう1つの利点は、プロジェクトが継続的な統合ビルドを通じて展開されている場合、サーバーにもグローバルにJSPMをインストールする必要があるのではなく、ローカルJSPMパッケージを使用するようにビルドプロセスを構成できることです。
<span>npm install -g jspm </span>JSPM -Vを使用してローカルバージョンを確認できます。
プロジェクトでJSPMを使用するには、次のコマンドを実行します。
<span>mkdir new-project && cd new-project </span><span>npm init -y </span><span>npm install jspm --save-dev </span>
いくつかの設定を求められ、Enterを押してデフォルト値を受け入れるか、異なる値を入力して変更します。次のスクリーンショットは、コマンドがデフォルト設定で実行されたときのインスタンスを示しています。
config.jsファイルは主にSystemJS用です。開くと、さまざまなソースからのパッケージのパスに設定された構成オプション、バベルのオプション、パッケージの名前マップが簡単に参照できることがわかります。このファイルは、JSPMを使用して新しいパッケージをインストールすると自動的に更新されます。
コマンドはPackage.jsonファイルも更新し、JSPMのセクションを追加します。 initコマンドでインストールされたバベルパッケージは、プロジェクトの開発セクションに追加されます。
- saveオプションの有無にかかわらずJSPMコマンドを使用してインストールされた新しいパッケージは、Theedependenciesセクションに追加されるため、生産依存関係になります。 -save-devオプションを使用してインストールすると、依存関係が開発時間依存関係になり、devdependenciesセクションに保存されます。
最後に、JSPMは、JSPMコマンドを使用してインストールされているすべてのパッケージに対して、config.jsファイルのマップセクションへのエントリを追加します。マッピングされた名前は、プロジェクト全体のJavaScriptファイルにライブラリをロードするために使用できます。パッケージの依存関係もマップセクションに追加されます。以下は、jqueryとjquery-uiのパッケージがどのようにマッピングされ、依存関係が定義されているかを示すconfig.jsファイルのマップセクションからのフラグメントです。<span>npm install -g jspm </span>
興味のあるポイントとして、モジュールをインストールするときにこれらのマッピングを自動的に生成することもできます。
これにより、アプリの他の場所に次のことを書くことができます。
<span>mkdir new-project && cd new-project </span><span>npm init -y </span><span>npm install jspm --save-dev </span>jspmおよびsystemjs in action
この記事に付随するために、私はシンプルなウィキペディア検索サンプルを作成しました。 GitHubリポジトリはこちらをご覧ください。 JSPM initコマンドのデフォルトオプションを使用してセットアップされるため、babelをES6トランスピラーとして使用します。また、JSPMを使用してインストールされているライブラリJQueryとBootstrapも使用します。ブートストラップにはjQueryが必要なため、jspmはconfig.jsファイルにマッピングを作成して、bootstrapを読み込む前にjqueryを読み込みます。
<span>npm install -g jspm </span>
リポジトリの名前が示唆するように、Wikipedia検索APIを照会し、ビューで受信したデータを表示します。 jQueryの$ .ajax()を使用してAPIに電話をかけ、ページに結果を表示し、モーダルポップアップに記事のスニペットを表示するリンクがあります。サンプルには、スクリプトフォルダーの下に3つのJavaScriptファイルがあります。
次のコマンドを使用して、アプリケーション全体のバンドルを作成できます。
このコマンドは次のとおりです
<span>mkdir new-project && cd new-project </span><span>npm init -y </span><span>npm install jspm --save-dev </span>
デバッグ中にロードされるソースマップファイルを作成
ここで、build.jsファイルをindex.htmlファイルにロードする必要があります。参照の更新されたセットは次のとおりです
$ jspm <span>-v </span><span>0.16.34 </span>Running against <span>local jspm install. </span>モジュールdisplay.jsをロードするためのインポートステートメントを削除しなかったことに注意してください。このステートメントはファイルをロードするのではなく、代わりにbuild.jsファイルで既に利用可能なSystemJSモジュールをロードします。
プロジェクトのreadmeファイルの指示に従って実行できます。開発者ツールの個々のファイルのコードを閲覧して、それらをデバッグできます。
結論プロジェクトでJSPMを使用していますか?なぜ?なぜだめですか?以下のコメントでお知らせください。
モジュラーJavaScript、SystemJS、およびJSPM
に関するよくある質問(FAQ)Modular JavaScriptはいくつかの利点を提供します。これにより、コードがより整理され、管理が容易になります。これにより、アプリケーションのさまざまな部分でコードを再利用できます。また、各モジュールを個別にテストできるため、コードを簡単にテストできます。この方法は、構成オプションを指定するオブジェクトを受け入れます。構成できるオプションには、パス、マップ、パッケージ、トランスピラーが含まれます。 Angular、React、およびVue.JS.これらのフレームワークのいずれかからモジュールをロードできるユニバーサルモジュールローダーを提供します。これは、特にユニバーサルモジュールローダーが必要なプロジェクトのために、JavaScriptエコシステムの重要な部分です。 JavaScriptとWebテクノロジーの継続的な開発により、SystemJSは開発者のニーズを満たすために進化し続ける可能性があります。
以上がモジュラーJavaScript:SystemJS&JSPMの初心者ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。