小包は、Webアプリケーションのパッケージ化ツールの速度、ゼロコンフィギュレーションです。小包から入手し、使用し、開発者の経験のしやすさを維持しながら、このバージョンでは、よりスケーラブルで、より信頼性の高い、小包1よりスケーラブルです。詳細は以下のとおりです。
- スケーラビリティ:小包2は、完全に端から端まで延長されます。プラグインタイプ拡大するパイプラインの使用を許可するように拡張し、ほぼすべてのコアの挙動のをカバーする設定が容易されています。
- スケーラビリティ:小包は、このステップより深く、大規模なアプリケーションに拡張するために並列性とキャッシュを使用しますが、小包2でされていますが。このバージョンで今キャッシングおよび並列処理より小包の仕事は、特にキャッシュの構造はより大きなアプリケーションに拡張することができます。
- 信頼性:最大のパフォーマンスを向上させながら小包2キャッシュは、信頼性が向上します。このバージョンでは、ファイルサイズ小包が実行されていない、パフォーマンスを構築し、モードがほぼ同じ持っているモニタリングのキャッシュの変化を検出する新しいクロスプラットフォームのファイル・システム・モニターを使用しています。
コンフィギュレーション
小包は、ゼロコンフィギュレーションです。これは設定不可能、ちょうど同じくらい小包は、(例えば.babelrcなど)他のツールのためのコード自体、および既存の設定ファイルから推測されるという意味ではありません。
小包2は、選択可能な構成です。小包2 CLIは、ほとんどのアプリケーションが十分であるため、デフォルトのコンフィギュレーションに組み込まれ、そして2支持パーセルの特別に設計された一連のコアとして各ステージを通して小包1、より構成が、パーセルのすべてのサポートを含んでいます追加のプラグインタイプのコア機能を拡張します。
- リゾルバ:リゾルバが導入(例えば、輸入「./ FOO」またはimport'rep「)完全なファイルパスには次のよう/my/project/foo.js。デフォルトのパーサ小包2を使用すると、拡張または構文解析アルゴリズムのプロジェクトを上書きしたい場合は、このバージョンはパーサープラグインを使用することができ、しかし、ノード解析アルゴリズムをサポートしています。
- トランスフォーマートランスフォーマーと資産が別の言語、またはファイルを変換するだけでいくつかの方法1つの言語からコードをコンパイル。例えば、記録型変換器のタイプは、異なるJavaScriptの内のJavaScript、およびJavaScriptバベルコンバータを変換します。変圧器は、また、例えば、インポート文の依存関係からコードを抽出するための責任があると呼び出しを必要とし、コールバックレゾルバ、他の変換器などに送られます。
- Bundlers:バンドラー入力として図アセットにウィジェット、及び出力は、図資産図束と同様であるが、資産は、グループ化されます。デフォルトバンドラーは、一緒に資産の(JavaScriptやCSSなど)同様のファイルの種類があり、符号分割、および他のいくつかの最適化を実行します。
- Namers:ナメルは、プラグインは、各パッケージの出力ファイル名を決定する責任があります。プラグインのデフォルト名は行わ資産の長期のアクセシビリティにハッシュコンテンツ、および同じ命名規則小包1が含まれます。
- ランタイム:ランタイムウィジェットは、パッケージにコードを構築することができます
- パッケージャ:資産の一般的なタイプは、ブラウザのパッケージでの出力の1つにロードすることができますパッケージャ。例えば、JSPackager JavaScriptが正しい順序で適切なタイミングでそれらを実行するために、ファイルを一緒。
- オプティマイザ:オプティマイザウィジェットは、何らかの形で、このような最小または圧縮ファイルなど、パッケージを最適化。例えば、TerserオプティマイザはパケットJavaScriptを最小限に抑えることができます
- バリ:バリデータは、認証コードを実行するためにバックグラウンドで実行され、例えばリンティング(例えばeslint)または(記録の例えばタイプ)をチェック入力ウィジェット。
- 記者:Reporterのステータス情報とプラグインのイベントとバンドルプロセス全体を通してイベントを記録。
すべてこれは非常に単純な.parcelrc JSONファイルの構成です。
小さなコア
このエディション小包ですべてがプラグインに細分されているので、小包のコアは非常に小さいです。さて、それは意図的に、ファイル、アプリケーションに基づいて、必要な他のツールを実行するために最適化されたばかりのチャートは基本的です。すべては、ローカルまたは最終的には、機械を横切っているかどうか、平行になるように設計され、キャッシュ可能です。
ワーカーファーム12内の新しいノードへの組み込みの利用可能なを使用するように更新された WORKER_THREADS、バックエンドで使用される複数のプロセスの以前のバージョンと比較して、モジュールのコストを下げます。
新しいコアとプラグインシステムに加えて、複数のターゲットのサポートなど、多くの新機能は、Packcel 2があります。小包2を使用すると、並行して建設される構築の目標、複数のを設定することができます。たとえば、アプリケーションの現代版を構築することができますブラウザでより多くの機能変換オーバーフローレガシーブラウザを使用してアプリケーションのバージョンを構築するために、近代的な構文があります。それとも、ノードやブラウザ用のライブラリを構築したい場合。このバージョンでは、ターゲットPackage.jsonを構成することによってこれを行うことができます。
{
"browser": "dist/legacy/index.js",
"browserModern": "dist/modern/index.js",
"targets": {
"browserModern": {
"engines": {
"browsers": [
"last 1 Chrome version"
]
}
},
"browser": {
"engines": {
"browsers": [
"> 0.25%"
]
}
}
}
}
小包2は、高度なパケットの最適化をサポートし、それが自動的に、独自のパッケージに分割され、共通の依存関係や、そのようなこれらのパッケージは、コードの残りの部分と別々のキャッシュと、並行してロードすることができるなど、他のライブラリを反応します。
その他のアップデートは、ご覧のリリースノートを