ノード環境とブラウザ環境の違いは何ですか?

青灯夜游
リリース: 2022-03-22 17:33:50
オリジナル
2808 人が閲覧しました

違い: 1. ノードではこれはグローバルを指しますが、ブラウザではウィンドウを指します; 2. ノードは CommonJS 標準を使用しますが、ブラウザは ES モジュール標準を使用します; 3. ブラウザの js は次のことができます。 DOM を操作しますが、ノード番号は異なります; 4. I/O 読み取りおよび書き込み操作は異なります; 5. モジュールのロードは異なります。

ノード環境とブラウザ環境の違いは何ですか?

#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。

ノード環境とブラウザ環境の違い

1. グローバル環境における this のポイント

ノードでは、これはグローバルとブラウザ環境を指します。ブラウザ内 中央のこれはウィンドウを指しているため、ルートはアンダースコアで定義されています;

 var root = typeof self == 'object' && self.self === self && self ||
       typeof global == 'object' && global.global === global && global ||
       this;
ログイン後にコピー

そして、多くの API (アラート、ドキュメント、場所など) がブラウザのウィンドウの下にカプセル化されています、歴史などたくさんあります。ノード環境ではxxx();やwindow.xxx();は使用できません。これらの API はブラウザレベルのカプセル化であるため、純粋な JavaScript では使用できません。もちろん、node は多くのノード固有の API も提供します。

2. モジュール標準

Node.js は CommonJS モジュール システムを使用しており、ブラウザでは ES モジュール標準が実装され始めています。

実際には、これは一時的に Node.js で require() を使用し、ブラウザーにインポートすることを意味します。

3. DOM 操作

ほとんどの場合、ブラウザーの js は DOM を直接または間接的に操作します (一部の仮想 DOM ライブラリとフレームワーク)。ブラウザ内のコードは主にプレゼンテーション層で動作するためです。ただし、ノードはサーバー側のテクノロジーです。フロントページがないため、ノードでの DOM の操作は行いません。

4. I/O の読み取りと書き込み

ブラウザとは異なり、他のサーバーサイド技術と同様にファイルの読み取りと書き込みが必要ですが、Nodejs はより便利なコンポーネントを提供します。そして、ブラウザは(互換性を確保するために)、ページ内のローカル画像を直接開きたい場合、多くの問題を抱えます(それが単純な相対パスではないことは言わないでください...試してみればわかります、または見つけることができます)ライブラリ (バイナリ ストリームであるか、アップロードされてネットワーク アドレスが表示されます。そうでない場合、なぜ js ライブラリを構築するのでしょうか?)、このノードのすべてが 1 つのコンポーネントで実行されます。

5. モジュールの読み込み

JavaScript の特徴の 1 つは、パッケージ参照を提供しないネイティブ API が、読み込まれるすべてのものを一度に実行することです。クロージングスキルを教えていただきありがとうございます。使用されるものはすべて一緒にあり、分割統治はなく、ロジックや再利用性はありません。ページや Web サイトが単純な場合は、もちろん、AMD および CMD の js ライブラリ (requireJS や seaJS など) を使用して実行できます。実際、多くの大規模 Web サイトでこれが行われています。

CMD モジュールの読み込み API は、nodeJS で提供されます。seaJS を使用したことがある場合は、すぐに使い始めることができます。

Node は、パッケージ管理ツールである npm も提供します。これにより、ドリンク ライブラリをより効果的かつ便利に管理できます。

もちろん、ブラウザ側の ES6 にもこの機能が追加されています。将来的にはもっと良くなります。 。 。

ノード関連の知識の詳細については、

nodejs チュートリアル を参照してください。

以上がノード環境とブラウザ環境の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!