Maison  >  Article  >  interface Web  >  Premiers pas avec nodejs tutoriel_node.js

Premiers pas avec nodejs tutoriel_node.js

WBOY
WBOYoriginal
2016-05-16 16:30:491518parcourir

Avant-propos

Si nous n'apprenons pas NodeJs, nous serons vieux... Lorsque la vague HTML5 a frappé, de nombreux ancêtres ont commencé le voyage de NodeJs, et à cette époque je faisais encore des programmes côté serveur
Plus tard, je suis passé au front-end, et la distance entre moi et l'échelon est déjà très grande. Parce que je connais les langages côté serveur et que je travaille depuis longtemps, j'ai seulement commencé à apprendre NodeJ et à m'orienter vers. un front-end complet
Le plan pour apprendre NodeJs cette fois est :
① 1-2 semaines pour acquérir les connaissances de base
② Développer un projet simple en 1 semaine environ
③ Utilisez NodeJs pour développer un ensemble d'outils pour le débogage des terminaux mobiles
④ Lié au packaging (c'est peut-être un peu loin)

Fonctionnalités NodeJs

① Asynchrone
De la lecture des fichiers aux requêtes réseau, NodeJs est exécuté de manière asynchrone et les fonctions de rappel jouent un rôle important en termes de modèle de programmation

.

② Rappel d'événement
Les rappels d'événements allègent les programmes, mais les détails dépendent toujours du programmeur. Cependant, la fonction de rappel est en réalité assez difficile à lire

③ Fil unique
Le nœud est monothread. S'il était multithread, le langage serait trop profond. Il serait ennuyeux de poser des questions sur la communication en cours, mais il n'y a pas de blocages ou d'autres problèmes avec les threads
. Mais il y a un problème lié aux performances, car le multicœur ne peut pas être utilisé

;

Mécanisme de module/CommonJs

Nous faisions du développement côté serveur. Si le code n'est pas bien organisé, la maintenance ultérieure sera très difficile, il y a donc MVC et une architecture à trois niveaux
Désormais, la logique métier du front-end se rapproche progressivement du back-end. En ce qui concerne les applications d'une seule page, elle a dépassé la logique de programme du back-end
. L'augmentation continue du nombre de pages vues entraînera une augmentation de la quantité de code js. Comment bien gérer notre code front-end est devenu un problème, alors requireJs est apparu...
PS : Ce paragraphe n'a rien à voir avec nodeJs...
JavaScript n'a pas de système modulaire, CommonJs a donc été proposé pour donner à js la base du développement d'applications à grande échelle

Référence des modules

Si on souhaite référencer un module, comme les calculs mathématiques :

var math = require('math');

Définition des modules

Si nous voulons définir notre propre module, nous pouvons le faire

Copier le code Le code est le suivant :

exports.add = fonction () {
Somme de retour ;
>

Si cette fonction est définie en mathématiques, elle peut être utilisée

math.add();

ID du module

L'identifiant du module est le paramètre passé à require. Il doit être nommé en casse camel et pointe vers un chemin de fichier. Ceci est très similaire à requireJS

.

Mise en œuvre des modules

L'implémentation du module dans Node est divisée en deux catégories, l'une est le module principal au niveau du système et l'autre est le module de fichier écrit par l'utilisateur
Les modules principaux sont traduits en fichiers binaires lors du processus de compilation. Une fois le processus Node démarré, certains modules principaux seront chargés directement dans la mémoire (emplacement du fichier, compilation et exécution)
Le module de fichiers doit être chargé dynamiquement, ce qui est relativement lent
Mais une fois chargés, ces fichiers seront mis en cache, et les fichiers mis en cache (fichiers compilés) seront lus lors de leur réintroduction
Allons un peu plus loin ici. Lorsque nous utiliserons le soulignement, nous compilerons du HTML pour former une fonction modèle (c'est en fait juste une fonction, cela peut être utilisé pour la mise en cache
). Enregistrez la fonction compilée avant de déployer le projet et supprimez le fichier modèle html (l'effet d'optimisation est inconnu)

Dans node, chaque module est un objet :

Copier le code Le code est le suivant :

fonction Module (id, parent) {
this.id = id;
this.exports = {};
//parent est un mot-clé et ne doit pas être utilisé sans discernement
This.parent = parent;
if (parent && parent.enfants) {
parent.enfants.push(this);
>
this.filename = null;
this.loaded = false;
this.children = [];
>

La dernière étape d'introduction des modules de fichiers lors de la compilation et de l'exécution.Après avoir localisé le fichier spécifique, le nœud créera un nouvel objet module, puis le chargera et le compilera selon le chemin
Chaque module compilé avec succès mettra en cache son chemin de fichier sous forme d'index sur Module._cache

Chaque fichier de module a trois variables : require, exports et module, mais elles ne sont pas définies dans le fichier (il en va de même pour les variables __filename__ et __dirname__)
En fait, pendant le processus de compilation, Node encapsule le contenu du fichier javascript head et tail (équivalent à passer la fonction personnalisée dans la fenêtre)

Copier le code Le code est le suivant :

(function (exports, require, module, __filename__, __dirname__) {
var math = require('math');
exports.area = fonction (rayon) {
Retour '';
};
});

De cette façon, les modules sont isolés et ne s'affecteront pas les uns les autres. C'est un peu similaire à la compilation de traits de soulignement...

Packages et NPM

Node organise ses propres modules de base, de sorte que les modules de fichiers tiers peuvent être écrits et utilisés de manière ordonnée, mais dans les modules tiers, les modules sont toujours hachés à divers endroits
Ils ne peuvent pas se référencer directement. L'externalisation de modules et le NPM sont un mécanisme permettant d'établir des connexions
. PS : De nombreux modules formeront un package. Le concept de ce package est similaire au concept de package java, donc le concept de #assembly devrait être similaire

Après décompression d'une structure de package, plusieurs fichiers seront formés :
① fichier de description package.json
② répertoire binaire exécutable bin
③ Répertoire de code javascript lib
④ document doc (presque aucun)
⑤ test démo

Ce qui précède sont quelques-unes des spécifications du package CommonJS, mais nous pouvons le comprendre un peu (pour les débutants, il faut maîtriser NPM). Avec l'aide de NPM, nous pouvons installer habilement le package de gestion

.

Installer les packages de dépendances

L'installation de packages de dépendances est une méthode courante :

npm install express
Après l'exécution, le répertoire node_modules sera créé dans le répertoire courant, puis le répertoire express sera créé sous celui-ci...
PS : express est un framework de développement web populaire sur NodeJs, qui nous aide à développer rapidement une application web
Il peut être appelé une fois l'installation terminée :

Copier le code Le code est le suivant :

var express = require('express');

Conclusion

Cette section se termine brièvement et notre processus de projet actuel s'approfondira progressivement plus tard

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn