Différences : 1. Ceci dans le nœud pointe vers global, mais dans le navigateur, il pointe vers la fenêtre ; 2. Node utilise la norme CommonJS, tandis que le navigateur utilise la norme ES Modules 3. JS dans le navigateur peut faire fonctionner le DOM, mais pas dans le nœud ; 4. Les opérations de lecture et d'écriture d'E/S sont différentes. 5. Le chargement du module est différent ;
L'environnement d'exploitation de ce tutoriel : système windows7, nodejs version 12.19.0, ordinateur DELL G3.
1. L'intérêt de ceci dans l'environnement global
Dans le nœud, cela pointe vers global et dans le navigateur, cela pointe vers window. C'est pourquoi le trait de soulignement est défini. au début. root;
var root = typeof self == 'object' && self.self === self && self || typeof global == 'object' && global.global === global && global || this;
Et il encapsule de nombreuses API sous la fenêtre du navigateur, telles que l'alerte, le document, l'emplacement, l'historique, etc. et bien d'autres. Nous ne pouvons pas utiliser xxx(); ou window.xxx(); dans l'environnement de nœud. Étant donné que ces API sont une encapsulation au niveau du navigateur, elles ne sont pas disponibles en JavaScript pur. Bien entendu, node fournit également de nombreuses API spécifiques au nœud.
2. Standards des modules
Node.js utilise le système de modules CommonJS, et dans les navigateurs, nous commençons à voir le standard ES Modules être implémenté.
En pratique, cela signifie que vous utilisez temporairement require() dans Node.js et importez dans le navigateur.
3. Fonctionnement du DOM
Dans la plupart des cas, js dans le navigateur exploite le DOM directement ou indirectement (certaines bibliothèques et frameworks DOM virtuels). Parce que le code du navigateur fonctionne principalement dans la couche de présentation. Mais le nœud est une technologie côté serveur. Il n’y a pas de page d’accueil, nous n’exploiterons donc pas le DOM en nœud.
4. Lecture et écriture d'E/S
Contrairement aux navigateurs, nous devons lire et écrire des fichiers comme les autres technologies côté serveur fournissent des composants plus pratiques. Et le navigateur (pour assurer la compatibilité) a beaucoup de mal s'il veut ouvrir directement une image locale dans la page (ne me dites pas que ce n'est pas simple, chemin relatif... Essayez-le et vous saurez, ou trouvez une bibliothèque Soit un flux binaire, soit l'adresse réseau est affichée lors du téléchargement. Sinon, pourquoi les gens ont-ils besoin de créer une bibliothèque js ?), et tout cela se fait avec un nœud.
5. Chargement du module
JavaScript a une caractéristique, c'est-à-dire que l'API native qui ne fournit pas de références de package exécute toutes les choses à charger en même temps. Ici, cela dépend de vos compétences en matière de fermeture. Toutes les choses utilisées sont ensemble, il n’y a pas de diviser pour mieux régner, et il n’y a pas de logique ou de réutilisation. Si la page ou le site Web est simple, nous pouvons bien sûr utiliser certaines bibliothèques AMD et CMD js (telles que requireJS et seaJS) pour le faire. En fait, de nombreux grands sites Web le font.
L'API de chargement du module CMD est fournie dans nodeJS Si vous avez utilisé seaJS, vous devriez vous lancer rapidement.
Node fournit également npm, un outil de gestion de paquets, qui peut gérer nos bibliothèques de boissons plus efficacement et plus facilement
Bien sûr, ES6 dans le navigateur a également cet ajout, je pense que ce sera mieux à l'avenir. . .
Pour plus de connaissances sur les nœuds, veuillez visiter : tutoriel Nodejs !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!