web-dev-qa-db-ja.com

Aurelia:Webpack、JSPM、またはCLI?

私はAurelia-CLIで約3か月間開発を続けており、これまでのところ気に入っています。これは堅固なフレームワークであり、サポートと使用法が明らかにエスカレートしていると思います。それは良いことです!

大規模なアプリをさらに開発する前に、最高のビルドシステムを使用しているかどうか疑問に思っています。私はAurelia-CLIを試しただけで、WebpackやJSPMにあまり詳しくないため、何が欠けているのかわかりません。他の2つのビルドシステムのいずれかを使用することには明らかな長所または短所がありますか、それともCLIを使用することが最もクリーンでサポートされているアプローチですか?私は独立して開発しているので、外部からの制約はありません。

ご協力いただきありがとうございます。

22
LStarky

[〜#〜]更新[〜#〜]

この答えはほぼ2年前のものです。更新を自由に調べて、別のより完全な回答を提供してください。この回答を置き換えるか、その回答を指すことができます。ありがとう!

Aurelia CLI

Aurelia CLIは、始めるのに最適です。裏でCLIはrequire.jsを使用していますが、アプリケーションのaurelia.jsonを介して構成をプロキシしていることを理解することが重要です。これは、現時点でrequire.jsと連携するようにaureliaを構成する方法を理解する必要があることを意味します。ワークフローに合わせて構成を開始したり、ビルド手順を変更したりする必要があると、現時点では少し面倒になります。私たちはこれを改善するために取り組んでいます。 Aurelia CLIには多くの機能が計画されていますが、これを書いている時点ではアルファ/ベータ状態であるため、一般的に概念実証やその他の小規模なアプリで使用する必要があります。本番環境に対応した大規模アプリではありません。

WebPack

WebPackは、間違いなく、現時点で最も人気のある子供です。 WebPackはモジュールローダーではなく、バンドラーです。 Aureliaがすべてのモジュールローダーでうまく機能するように努めていますが、デフォルトではWebPackがモジュールのロードを担当していないため、動的にロードされるアプリケーションでは開発者がこれを拡張する必要があるため、これを理解することが重要です。 WebPackは、最適化されたバンドルの作成に強く、WebPackの構成に慣れている限り簡単に使用できます。 React WebPackを使用することで人気があるため、WebPackにはかなり多くのGitHubスターがあります。単に、GitHubスターの数だけで、Aureliaを使用する方が良いかどうかはわかりません。

JSPM/System.js

一部のスケルトンはJSPMとSystem.jsを使用します。その理由は、これらが「仕様準拠」ソリューションに最も近いためです。 JSPMは、 JSPMレジストリ からロードするときに、可能な限り支援しようとします。レジストリでまだ利用できない場合は、NPMまたはGitHubから直接ロードできます。モジュールの読み込みの観点から、開発者のワークフローを改善するために、依存関係をインストールするときに(通常)自動的に維持されるconfig.jsファイルを使用します。

サイドバイアスノート

現時点でほとんどの大規模なアプリでは、ツールをよく理解していて、提供されているコントロールを好むという理由だけで、通常、JSPM /System.jsを使用することを好みます。私は本番環境にある多数のAureliaアプリに取り組んでおり、通常はCLIを予約して、より小さな概念実証アプリを提供しています。WebPackは優れた代替手段ですが、現時点でのJSPM /System.jsの柔軟性と理解を好みます。

39
PW Kad

CLIは現在機能が完全ではありませんが、セットアップははるかに簡単です。 Webpackは基本的にやりたいことは何でもできますが、Aureliaコードを維持するのと同じようにWebpack構成を維持します。

さて、それだけではないかもしれませんが、webpackを使用するにはWebpackを学ぶ必要があります。 Aurelia CLIは簡単に開始できますが、いくつかの明確な制限があります。たとえば、外部リソースを参照するCSSファイルはAurelia CLIでは機能しませんが、Webpackでは正常に機能するはずです。

9
Ashley Grant

まず、この投稿が 主観的な性質 のためにシャットダウンされるかどうかを理解できます。

Aurelia CLI セカンドクラスのツールであることについての答えを再検討する時が来たと思います。私は PW KadAshley Grant の両方を非常に尊重していますが、このような発言がもはや真実であるとは確信していません。

Aurelia CLIには多くの機能が計画されていますが、これを書いている時点ではアルファ/ベータ状態であるため、一般的に概念実証やその他の小規模なアプリで使用する必要があります。本番環境に対応した大規模アプリではありません。

特に、Aurelia CLIを使い始めた当時、私は実稼働アプリケーションを持っていて、上記の理由で正確にJSPMに変更しました。しかし最近、CLIを使用して同じアプリを最初から再構築しましたが、特にモジュールの管理と公開の方がはるかに使いやすいことに気付きました。そして、これはグーグルマップ、グーグルアナリティクス、Auth0、DevExpress、ブートストラップなどを備えたアプリです。

AureliaCLIに少し愛を与える時が来たと思ってください。それは準備ができています。

4
smoore4

この発表では、AureliaCLIが最も推奨されるオプションです。

http://aurelia.io/blog/2017/08/18/aurelia-cli-webpack-update/

今では、好みの選択に対してより柔軟性があります。

2
chenk