Dojo Buildの概要


翻訳:https://github.com/dojo/frame...
Dojoは、現代のアプリケーションの構築をより簡単にする強力なコマンドラインツールを提供しています.
パッケージを自動的に作成したり、PWAを使用してファイルをローカルにキャッシュしたり、構築段階で初期のHTMLやCSSをレンダリングしたり、DojoのCLIツールや.dojorcプロファイルを使用して条件に応じてコードを無視したりすることができます.あるいは(eject)Dojoのコンストラクションツールから離れ、下位のコンストラクションツールを直接使用して完全にコントロールします.
機能
説明
Dojo CLI
新しいアプリケーションの迅速な起動、部品の作成、テストの実行など、モジュール化されたコマンドラインツール.
サーバの開発
開発時に使用するローカルウェブサーバは、ファイルシステムを傍受するために使用され、変化が検出されると自動的に再構築されます.HTTPSや設定エージェントもサポートされています.
パッケージ(bundle)
ユーザーがダウンロードするコンテンツを削減し、ユーザーが実際に必要とするアプリケーションのインタラクション時間を最適化することで、ユーザー体験を向上させることができます.ルーティングに基づいてパッケージを自動的に作成するか、プロファイルでパッケージを明確に定義できます.
条件に従ってコードを組み込む.dojorcプロファイルを使用すると、dojo/has定義を使用する機能を静的に閉じるか開くことができます.これらの構成によりアクセスできないコードブランチは自動的に無視されます.これにより、パケットのサイズに影響を与えることなく、IE 11やmobileなどの特定のターゲットに特定の機能を提供することが容易になります.
PWAサポート
プログレッシブWebアプリケーションは、コンテンツをキャッシュしたりオフラインで作業したりすることで、より高速で信頼性の高いユーザー体験を作成します.プロファイルまたはコードで定義することで、dojoはサービスワークを簡単に作成し、アプリケーションの一部として構築します.
ビルド時のレンダリング
構築時にルーティングをレンダリングして、初期のHTMLとCSSを生成します.構築時にレンダリングすると、Dojoは初期レンダリングのコストを節約し、より応答性の高いアプリケーションを作成し、追加の複雑さを導入しません.
基本的な使い方
DojoはCLIコマンドのセットを提供し、アプリケーションの作成と構築を支援します.このマニュアルでは、@dojo/cliがグローバルにインストールされ、@dojo/cli-build-appおよび@dojo/cli-test-internがプロジェクトにインストールされていると仮定します.プロジェクトが@dojo/cli-create-appを使用して初期化された場合、これらの依存はすでに存在するはずです.
ビルド
DojoのCLIツールは、複数の構築ターゲットまたはmodeをサポートします.dojo create apppackage.jsonのために生成されたいくつかのスクリプト(scripts)には、すべてのモードが表示されます.
次のコマンドを実行して、本番環境に最適化された構築を作成します.
> dojo build --mode dist

今回の構築では、distモードを使用してアプリケーションパッケージを作成し、結果をoutput/distディレクトリに出力します.
サービスの実行と変更の傍受devまたはdistモードで動作する場合、--serveタグを使用してウェブサーバを起動することができる.アプリケーションのデフォルトは9999ポートで実行されます.--portタグを使用してポートを変更できます.--watchタグを使用すると、Dojoの構築ツールはアプリケーションの変更をリスニングし、自動的に再構築することもできます.
生成されたpackage.jsonファイルには、devスクリプトが含まれています.これらのタグを使用してアプリケーションの構築バージョンを実行し、ディスク上のファイルが変更されると自動的に再構築されます.
> dojo build --mode dev --watch file --serve

アプリケーションはsource mapも提供します.これにより、デバッガは、構築されたJavaScriptコードをsrc/フォルダの下にある元のType Scriptコードにマッピングすることができる.
テスト
DojoはInternを使用してユニットと機能テストを実行します.
Tはtests/unitのセルテストを実行する最も速い方法であり,Dojoアプリケーションの新規作成時に作成されたNPMスクリプトである.
コマンドライン
# execute unit tests
npm run test:unit
# execute functional tests locally using headless Chrome and Selenium
npm run test:functional

サポートされているブラウザ
Dojoは持続的な進化の枠組みです.デフォルトでは、パブリッシュされたdojoバージョンは、最新のブラウザの最近の2つのバージョンをサポートします.Dojoはブラウザにまたがって標準機能を実現し、必要なpolyfillは@dojo/framework/shimを通じてオンデマンドで提供されます.IE 11をサポートするには、--legacyタグを開く必要があります.
Dojo構成.dojorcに他の構成オプションを追加できます.これらのオプションは、通常、コマンドラインを使用して使用可能な設定を拡張し、国際化、コード分割、PWAリスト、無視コードなど、より高度な機能をサポートします..dojorcファイルにはJSONオブジェクトが含まれており、dojoコマンドラインツールで実行できる任意のコマンド構成情報です.構成オブジェクトに各コマンドにノードを割り当て、構成情報を格納します.
{
    "build-app": {
        "pwa": {
            "manifest": {
                "name": "My Application",
                "description": "My amazing application"
            }
        }
    },
    "test-intern": {},
    "create-widget": {
        "tests": "tests/unit"
    }
}

この例では、@dojo/cli-build-app@dojo/cli-test-intern@dojo/cli-create-widgetの3つのCLIコマンドモジュールは、それぞれ1つのノードに対応している.構成は常に階層化され、command=>feature=>configurationの順に並べられます.