2017-06-11 7 views
0

NodeJSアプリケーションについては非常に基本的な質問があります。NodeJSアプリケーションに関する質問

  1. 誰かがNodeJSアプリケーションを言うとき、純粋なサーバーサイドで書かれたNodeJSアプリケーションを指していますか?私は今日、プロジェクト(Angular、Emberなど)がNodeを使用して依存関係をインストールするとき、クライアント側のアプリケーション(ブラウザで実行される)をNodeJSアプリケーションとも呼ぶことができますか?または、これらのNPMはアプリを使用していますか?

  2. モカ、ジャスミンなどのユニットテストフレームワークは、私が上で説明した両方のタイプのアプリケーションに使用されますか?または、それはサーバー側のNodeJSアプリケーションのみを意味していますか?

答えて

1
  1. "のNode.jsは、" サーバー側 "のJavaScript" プラットフォームです。つまり、NodeJSアプリケーションでは、PHP、Rubyなどの典型的なサーバー側の言語をJavaScriptに置き換えています。 Frontenedになると、私たちはJavascriptとJQueryのようなライブラリを使って非常に長い間、行動をアプリケーションに追加してきました。しかし最近のSPA(Single Page Application)の盛り上がりの後、Angular、EmberのようなフレームワークがJavaScriptを使って構築され、SPAをより簡単にすることができます。

NPMは、ノードを使用して操作を実行するJavaScriptのパッケージマネージャです。 NPMを使用して、私たちのプロジェクトに多くのJavaScriptパッケージ(すべてのクライアントサイドJSライブラリを含む)を持ち込むことができます。しかし、ASP.netアプリケーション用にAngularJsをインストールするためにNPMを使用している場合、あなたのNodejsアプリケーションであるとは限りません。 SASSプリプロセッサをインストールするにはRubyの宝石が必要です。

  1. これは、純粋なJavaScript(NodeJS)アプリの美しさです。テストフレームワークは両端で使用できます。さらに、開発者は、2つの言語の異なる構文間の精神的な切り替えを避けることができ、サーバーとクライアントの両方でいくつかのコード/ロジックを再利用することもできます。
0

npmは、javascriptのパッケージマネージャです。 npmを使用してアプリケーションのパッケージをインポートおよび管理しても、Node.jsアプリにはなりません。

「Node.js apps」はありません。アプリケーションは、フロントエンド/クライアント側を指します。 フロントエンドとは独立して、Node.jsなど、バックエンド/サーバー側のいずれかを選択できます。私は

2

:-)ビットを明らかにしている願っています

は、それは純粋なサーバー側書かNodeJSアプリを参照していますか?

はい。具体的には、nodejsバックエンド/サーバーを持つアプリを指します。

(ブラウザで実行される)クライアント側のアプリケーションをNodeJSアプリとも呼ぶことができますか?

によって異なります。ブラウザのAPIに依存するライブラリ(ナビゲータ、ウィンドウなど)は動作しません。これは、これらのブラウザオブジェクトがnodejs環境に存在しないためです。たとえば、jQueryは、DOM操作で行う特定の関数がブラウザのAPIに依存するため、nodejでは完全には機能しません。一方。 Reactは、ブラウザーとノードの両方の環境で互換性のあるAPIを持っているため、ブラウザーとノードの両方で使用できます。

以前は、ライブラリ(例:jQuery)を使用するには、ソースに対応するスクリプトタグを付ける必要がありました。 npmを使用して、ライブラリコードをnode_modulesフォルダにダウンロードし、そこからrequireまたはES6 importを使用して使用することができます。しかし、おそらく、まずBrowserifyとGulpを使ってコードをバンドルするなど、いくつかの前処理が必要です。それを行う方法に関するチュートリアルをご覧になりたいかもしれません。here

モカ、ジャスミンなどのユニットテストフレームワークは、私が上で説明した両方のタイプのアプリケーションに使用されますか?または、それはサーバー側のNodeJSアプリケーションのみを意味していますか?

モカ、ジャスミン、チャイはブラウザーやnodejs固有の機能に依存しないため、両方のプラットフォームで動作するはずです。他のものについては、ブラウザーやノード固有の機能に依存しているかどうかを確認する必要があります。そうであれば、ライブラリはあるプラットフォーム(ブラウザなど)で動作しますが、他のプラットフォームでは動作しない可能性があります。