web-dev-qa-db-ja.com

NodeサーバーなしでAngularJS2アプリケーションを実行する方法

NodeJSをサーバーとして使用せずに、ブラウザでAngular 2アプリケーションを実行することは可能ですか。確信はありませんが、最新のブラウザがTypeScriptをコンパイル/「理解」できる場合は、コードなので、プレーンなjavascriptにコンパイルするためにサードパーティのjs libを使用する必要はありませんか?

フロントエンドで100%Angular 2を使用し、バックエンドでREST APIを使用してRuby on Rails、Railsのページレンダリング、セッションなどを使用せずに.

Angular2が舞台裏でどのように動作/実行するかについて少し混乱しています... NodeJSなしで使用するために、Angular2アプリケーションをどのように構成する必要がありますか?

29
Nagy Ervin

ここでいくつかの技術を混ぜていると思います。

サーバー

静的ファイルをホストできるサーバーでAngularアプリを実行できます。ノードについて特別なことは何もありません。したがって、Rubyを使用できます。Apache、nginx、lighttpdなど.

これは、JavaScriptがクライアント側で実行されるためです。サーバーの応答は、JS/HTML/CSSファイルをサイトにアクセスしているクライアントに配信することのみです。

TypeScript

TypeScriptを使用してアプリケーションを作成している場合、 any ブラウザーがそれを理解する前に、JavaScriptに変換する必要があります。これを行うには、(1)アプリをサーバーにデプロイする前、または(2)TypeScriptをオンザフライで変換する System.js などのライブラリを使用します。

(2)は間違いなくオプションであり、 Angular CLI は最近まで使用されていましたが、(1)は私の意見ではより良いオプションです。 Angular CLIは(1)に切り替えられ、現在は webpack を使用しています。Webpackはアプリをトランスコンパイルおよびバンドルしています before サーバーでホストされます。

私はあなたのために物事を少しクリアできることを願っています。

35

TL; DR

TypeScriptをAngular 2とともに使用する場合、開発中に必要なのはNodeのみです。

[〜#〜] dev [〜#〜]:NodeJSを使用して.tsファイルから.jsファイル。

[〜#〜] prod [〜#〜]:生成された.jsファイルが使用されますブラウザ内、NodeJSは必須ではありませんです。ただし、バックエンドで使用する場合を除きます。

[〜#〜] note [〜#〜]:開発でプレーンJSのみを使用する場合、Nodeも必要ありません

15

Asp.Net Core、Node.Js、PHP= js、html、cssコンテンツをサーバーに送信するなど)を含む任意のサーバー側テクノロジーを使用できます。

IDEでアプリケーションをビルドする際、Node.jsは.tsファイルを.jsファイルにトランスパイルします。

2