FAQ

RspackとWebpackの今後の関係はどうなりますか?

Webpackチームとのパートナーシップを確立しました。 Rspackは、Rustを使用してWebpackのパフォーマンスを最適化する試みであり、すでに大きな進歩を遂げています。

Webpackチームとともに、Webpackを最適化するための可能性をさらに模索していきます。Rspackがある程度の成熟度に達したら、Webpackは実験フラグを使用して、RspackをWebpackに統合することを試みます。

JavaScriptやWebpackエコシステムとの互換性は、パフォーマンスの低下を引き起こしますか?

私たちは、単にベンチマークの指標を追い求めるのではなく、既存のWebプロジェクトに低い移行コストでパフォーマンスの向上をもたらすことに重点を置いています。

Webpackエコシステムとの互換性により、パフォーマンスの低下が多少発生しますが、検証結果によると、この低下は許容範囲内です。

babel-loaderを使用せずに、互換性のあるフォールバックコンパイルを実現するにはどうすればよいですか?

Rspackは内部的にSWCを使用してコードのダウングレードコンパイルを実行します。これはbuiltin:swc-loaderで構成できるため、babel-loaderを使用してコードのダウングレードコンパイルを実行する必要はありません。

RspackはWebpack APIと100%互換性がありますか?

いいえ、Rspackの目標は、Webpack APIの100%と100%互換性を持たせることではありません。パレートの法則に基づいて、ほとんどのプロジェクトで一般的に使用されているAPIの実装を優先し、ユーザーのニーズに基づいて他のAPIをサポートします。

Rspackはブラウザ側のビルドでWasmをサポートする予定ですか?

サポートする予定です。私たちはNAPI-RSチームと一緒にWasmソリューションを模索しており、まだ探索段階です。今後はさらに進展があるでしょう。

RspackとWebpack + SWC-loaderを比較した場合、Rspackの利点は何ですか?

webpack + SWC-loaderがbabel-loaderのパフォーマンス問題を解決したとしても、webpack自体には、makeやsealステージなど、シングルスレッドであるため、多くのパフォーマンスボトルネックがあります。しかし、Rspackはこれらの制限を打破しているため、特にマルチコアシナリオでは、Rspackはwebpack + SWC-loaderよりも優れたパフォーマンスを発揮します。

カスタムプラグインとカスタムローダーはRustを使用して開発する必要がありますか?

いいえ、webpackプラグインやローダーを開発するのと同じように、JavaScriptを使用してプラグインやローダーを開発できます。一方、Rustを使用してカスタムプラグインとローダーを開発できるようにする方法を模索しています。

RspackはReact Server Componentをサポートする予定ですか?

RspackはReact Server Componentをサポートします。現在、内部プロジェクトでRspack + RSCを試しており、顕著なパフォーマンスの向上を確認しています。

関連PR:#5824

Rspackは現在、本番環境で使用できますか?本番成果物とwebpackの違いは何ですか?

はい、現在、多くの内部プロジェクトでRspackを使用してビルドしており、本番環境でスムーズに実行されています。

私たちの目標は、Rspackによって生成されたランタイムコードをWebpackと完全に一致させることです(つまり、出力からWebpackかRspackの出力かをほとんど見分けることができないようにします)。まだ完全に一致していませんが、ランタイムを継続的に改善し、最終的に完全な一致を達成します。