ホームページ > 記事 > ウェブフロントエンド > ノード環境とブラウザ環境の違いは何ですか?
#このチュートリアルの動作環境: Windows7 システム、nodejs バージョン 12.19.0、DELL G3 コンピューター。 ノード環境とブラウザ環境の違い違い: 1. ノードではこれはグローバルを指しますが、ブラウザではウィンドウを指します; 2. ノードは CommonJS 標準を使用しますが、ブラウザは ES モジュール標準を使用します; 3. ブラウザの js は次のことができます。 DOM を操作しますが、ノード番号は異なります; 4. I/O 読み取りおよび書き込み操作は異なります; 5. モジュールのロードは異なります。
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 サイトの他の関連記事を参照してください。