Node.jsの開発者の1-概要

https://www.cnblogs.com/gaoya666/p/9071288.html

Nodejs英語ネットワーク:https://nodejs.org/en/

中国のネット:http://nodejs.cn/

私たちは、この文を見つけます。

次のように中国語に翻訳:

Node.jsのは、JavaScriptのランタイム環境クロームV8エンジンです。 
Node.jsのは、それは軽量かつ効率的に、イベント駆動型、非ブロックI / Oモデルを使用しています。 
Node.jsのパッケージマネージャのNPM、オープンソースのエコシステムの世界最大のリポジトリ。

わかりました。導入前まあ、我々はJavaScriptにそれを定義しているかどうか、nodejs?

1.1 JavaScriptは何ですか?

フロントの前に学んだ、すべてのノウハウは、Javascriptをブラウザで実行すると、クライアントは、対話型のページを作るために使用されることをスクリプト言語です。

1.2 JavaScriptのランタイム環境?

       名前が示すように彼の動作環境はブラウザですが、それは本当に正しいですか?実際には、彼の本当の動作環境は、実際には、ブラウザのカーネルにJSエンジンを実行しています。これはなぜでしょうか?人気のあるブラウザの役割の面でウェブを閲覧するために使用されているので、我々はアドレスを使用して、要求を送信することができ、ブラウザでのラウンドノックアウト入力し、サーバからの応答を受け取るなど、また、他のことを行いJSの実装に加えて、ブラウザであります。ブラウザ要求の最初の関数は、httpアドレスがあるので、それは、要求パケット、サーバへのパケットにURLを解決するパッケージアウト要求メッセージをカプセル化した後、私たちの応答パケットを与えることができます最大の役割、そしてその後、ブラウザでの応答を、アウト解析。もちろん、コンテンツサーバの応答は、たとえば、サーバーが返す私たちは、レンダリングエンジンを呼び出すファイル、HTML、CSSファイル、レンダリングのためのimgファイルは、加えて、JSエンジンによって行わJSを実行することができ、異なる場合があります、JavaScriptのランタイム環境は、ブラウザの代わりに、ブラウザのJSエンジンであると言うことができます。ブラウザは偉大な概念です。
何のブラウザのJavaScriptを行うことができますか? 

1.3ブラウザでは、JavaScriptでできること

持ってはjavascripが対話のために使用され、前に述べたが、相互作用の一般的には少し不明瞭、特定のポイントを分けることができます言った:
  (1)動作し、DOM(DOMが登録イベントのようなものへの追加や削除のために、です)
  (2)送信AJAX要求/クロスドメイン
  (3)BOMの相互作用を私達にページジャンプ、歴史、印刷コンソールログを与えると
  (4)のECMAScript(JSコア言語などの変数、関数を定義するために使用されるような)

1.4、ブラウザ側javasscriptを行うことができませんか?

前理解することで、一見javascrip私たちの日常の相互作用は、何のように見えるが行うことができ、行うことができますが、彼も行うことはできません。以下のような:

  1)エンド・アプリケーションに関連する、我々はファイルを操作する必要があり、HTML5 APIに関連する文書についての情報を提供していますが、これらのAPIのほとんどが読み取り専用にレベルを制限しているが、ブラウザでは、JavaScriptのファイル操作ではありませんないJavaなどの伝統的な言語のように、パスを通過した後、対応するファイルを読み出し、それがはっきりCURDファイルとフォルダではありません。

  2)、ブラウザ側のJavaScript、オペレーティングシステムのバージョン等へのアクセスのようなオペレーティングシステムを動作させる方法はありません。

では、なぜこれらの操作の2種類ができないのですか?環境を実行している言語はかなり特殊で、JS、ので実際には、セキュリティ上の理由から、彼がどのような場所で特別な、特別なのですか?我々は良いjsのコードを書くが、最終的にサーバーに配置されますが、すべての後、彼は、サーバー上で実行されていないが、サーバーは、ブラウザ側の実装に送信し、操作はそれは、明らかに安全でないファイルブラウザで実行だから、クライアントでこれらの機能を行うことができないではないと言ってますが、理由は特定の動作環境で行うことはできません

1.5は、クライアントのJSが何かを行うことができます理解し、我々はまたjavascripが唯一のブラウザでそれを実行することをコンセプトをクリアする必要がありますか?

  javascripがecmascrip言語、BOM、言語レベルで構成さDOMあるフロントエンドの開発者が知っている、彼女はちょうど私達にそのような変数、関数、型、プロセス制御やその他の操作の定義としていくつかの操作の構文を与えます。BOMは、DOMは、ブラウザによって提供され、提供さESません。jsがゆえ私たちはしばしば、、、JSの機能のほとんど(DOM、BOM(ブラウザ、オープンAPI)およびその他の操作のうち)ESは、ビューのポイントから導出され、ブラウザの実行エンジンによって決定されているという事実に言及しますいずれかのプログラミング言語は、彼の能力は、言語そのものによって決定さが、彼の実行環境によるものです。たとえば、Javaは、彼は一つの言語の言語を話すためのプラットフォームはjavascriptのES、プラットフォームのブラウザであることを意味します。だから、ブラウザのみ、それに実行JS?絶対にありません!、ほとんどの言語では、そのようなだけで、仮想マシン上で実行するJavaなど、プラットフォーム上で実行されているが、また、複数の言語のプラットフォームで実行するように、Javaは一定のレベルでは、複数のプラットフォーム上で実行する必要はありません仮想マシンは、(例えばウィンドウやLinux、等のようなオペレーティングシステム間で、である)は、クロスプラットフォームであるためです。JSはまた、彼はJSのエンジンによって実行されたため、ブラウザは、あまりにもJSを実行することができ、複数のプラットフォーム上で実行することができます。JS同様に、彼はプラットフォームによってサポートされている限り行うことができます。だから、強力なプラットフォームノードを提供するために、非常に強力な、唯一の必要性を有するために、言語は、JSを実行することができ、このようなプラットフォームであると言って、その後、最終的にノードは何ですか?そして、どのような地獄は簡単なノードです。

0 | 1 ノードとは何ですか?


  公式文書によると与えられ、それはJSを実行している仮想マシンとして理解することができたときにノードがjavascriptのGoogleのV8エンジンを実行している、知っているかもしれません。彼は、イベント駆動型、非ブロックI / Oモデルを使用して、彼はサーバーに移動jsのオペレーティング環境で、クライアントは何の関係もありませんでした。ノードは唯一のJSのためのプラットフォームを提供し、物事の純粋なサービス側です。実際には二点内部ノード、一つのパッケージV8エンジン、ESを運ぶ目的(等の変数、関数定義、と定義される)、他のツールの大規模なライブラリを提供し、様々な機能を実現するヘルプ・ノード、提供前回のJS環境のいくつかは、システム動作を操作、ファイル操作、ネットワークオペレーションのようなものを行うことはできません。
  ノードは、ノードを意味するプラットフォームが(特定の言語を実行するために使用されるいわゆるプラットフォーム)、言語を実行するために使用されているので、その後の言語は、Javaで、Javaのノードがそれを実行することができますか?nodejs創業者ライアン・ダールリコールよると、彼は最初はルビーに言語が、この言語のRubyの仮想マシンの効率を選んだ、結局あきらめた非常に良いされていない、思考のこのラインに従って、Java仮想マシンの統合の一見ノードが来ることができるはずですJavaの実行されますが、ノードの作者はJavaScriptを選びました。V8は、ESを実行するための部分に分割(プラットフォーム上のノードJSの実行、サーバーで実行を達成することが可能であるので、JS、以前の環境を提供しlibuvと呼ばれるツールとライブラリコンポーネント(API)の多くは、JSを行います以下、このようなファイル操作、ネットワークオペレーション、および)のようなものより。
あなたは、ウェブでの任意の使用のどのノード、必要があるにも明確にノードを知っていますか?
  (1)要求元ノードは、すべてのクライアントのユーザーを受け入れることができ、かつ迅速な対応を与えることができますので、サイトのノードのために使用することができます。
  (2)ノードは、ウェブサイトのデータ等の通話データインターフェースを、分配する中間層として使用することができるJavaオファー中間ノードを介してJavaデータ・インタフェースを呼び出すために、ユーザの要求を受け入れなければならない、とのように、我々はノードを作ることができます直接ユーザーに直接、その後、レンダリングされたページを瓶詰めした後にデータを取得するために、ノード・レベルでHTMLを行います。ノードは、並行処理の観点から、高性能なWebサーバと呼ばれ、圧縮プラットフォームははるかに良い伝統的なよりもあるので、このようなパッケージが大幅にサーバーを減らすことができているので、なぜ、Javaインタフェースは直接、それをしない要求します開発。
  二点以上により、それが唯一の彼らの少し、バックエンドへのフロントページから、全体のパッケージのいずれかでWebサービス内のノード、結論付けることができます。
  一言で言えば、ノードはJavaScriptのランタイム環境(プラットフォーム)で、彼は言語、ないジャバスクリプトの枠組みではありません。サーバーアプリケーション、Webシステムを開発するために使用することができます。それは、小容量、高速で高パフォーマンスを提供しています。

おすすめ

転載: www.cnblogs.com/hmit/p/12049078.html