Maison interface Web js tutoriel Premiers pas avec nodejs tutoriel_node.js

Premiers pas avec nodejs tutoriel_node.js

May 16, 2016 pm 04:30 PM
nodejs 入门

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Générez du PPT en un seul clic ! Kimi : Que les « travailleurs migrants PPT » deviennent d'abord populaires Générez du PPT en un seul clic ! Kimi : Que les « travailleurs migrants PPT » deviennent d'abord populaires Aug 01, 2024 pm 03:28 PM

Kimi : En une seule phrase, un PPT est prêt en seulement dix secondes. PPT est tellement ennuyeux ! Pour tenir une réunion, vous devez avoir un PPT ; pour rédiger un rapport hebdomadaire, vous devez avoir un PPT ; pour solliciter des investissements, vous devez présenter un PPT ; même pour accuser quelqu'un de tricherie, vous devez envoyer un PPT ; L'université ressemble plus à une spécialisation PPT. Vous regardez le PPT en classe et faites le PPT après les cours. Peut-être que lorsque Dennis Austin a inventé le PPT il y a 37 ans, il ne s'attendait pas à ce qu'un jour le PPT devienne aussi répandu. Parler de notre dure expérience de création de PPT nous fait monter les larmes aux yeux. "Il m'a fallu trois mois pour réaliser un PPT de plus de 20 pages, et je l'ai révisé des dizaines de fois. J'avais envie de vomir quand j'ai vu le PPT." "À mon apogée, je faisais cinq PPT par jour, et même ma respiration." était PPT." Si vous avez une réunion impromptue, vous devriez le faire

Tous les prix CVPR 2024 annoncés ! Près de 10 000 personnes ont assisté à la conférence hors ligne et un chercheur chinois de Google a remporté le prix du meilleur article. Tous les prix CVPR 2024 annoncés ! Près de 10 000 personnes ont assisté à la conférence hors ligne et un chercheur chinois de Google a remporté le prix du meilleur article. Jun 20, 2024 pm 05:43 PM

Tôt le matin du 20 juin, heure de Pékin, CVPR2024, la plus grande conférence internationale sur la vision par ordinateur qui s'est tenue à Seattle, a officiellement annoncé le meilleur article et d'autres récompenses. Cette année, un total de 10 articles ont remporté des prix, dont 2 meilleurs articles et 2 meilleurs articles étudiants. De plus, il y a eu 2 nominations pour les meilleurs articles et 4 nominations pour les meilleurs articles étudiants. La conférence la plus importante dans le domaine de la vision par ordinateur (CV) est la CVPR, qui attire chaque année un grand nombre d'instituts de recherche et d'universités. Selon les statistiques, un total de 11 532 articles ont été soumis cette année, dont 2 719 ont été acceptés, avec un taux d'acceptation de 23,6 %. Selon l'analyse statistique des données CVPR2024 du Georgia Institute of Technology, du point de vue des sujets de recherche, le plus grand nombre d'articles est la synthèse et la génération d'images et de vidéos (Imageandvideosyn

Nodejs est-il un framework backend ? Nodejs est-il un framework backend ? Apr 21, 2024 am 05:09 AM

Node.js peut être utilisé comme framework backend car il offre des fonctionnalités telles que des performances élevées, l'évolutivité, la prise en charge multiplateforme, un écosystème riche et une facilité de développement.

Du bare metal au grand modèle avec 70 milliards de paramètres, voici un tutoriel et des scripts prêts à l'emploi Du bare metal au grand modèle avec 70 milliards de paramètres, voici un tutoriel et des scripts prêts à l'emploi Jul 24, 2024 pm 08:13 PM

Nous savons que le LLM est formé sur des clusters informatiques à grande échelle utilisant des données massives. Ce site a présenté de nombreuses méthodes et technologies utilisées pour aider et améliorer le processus de formation LLM. Aujourd'hui, ce que nous souhaitons partager est un article qui approfondit la technologie sous-jacente et présente comment transformer un ensemble de « bare metals » sans même un système d'exploitation en un cluster informatique pour la formation LLM. Cet article provient d'Imbue, une startup d'IA qui s'efforce d'atteindre une intelligence générale en comprenant comment les machines pensent. Bien sûr, transformer un tas de « bare metal » sans système d'exploitation en un cluster informatique pour la formation LLM n'est pas un processus facile, plein d'exploration et d'essais et d'erreurs, mais Imbue a finalement réussi à former un LLM avec 70 milliards de paramètres et dans. le processus s'accumule

Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Quelle est la différence entre les fichiers npm et npm.cmd dans le répertoire d'installation de nodejs ? Apr 21, 2024 am 05:18 AM

Il existe deux fichiers liés à npm dans le répertoire d'installation de Node.js : npm et npm.cmd. Les différences sont les suivantes : différentes extensions : npm est un fichier exécutable et npm.cmd est un raccourci de fenêtre de commande. Utilisateurs Windows : npm.cmd peut être utilisé à partir de l'invite de commande, npm ne peut être exécuté qu'à partir de la ligne de commande. Compatibilité : npm.cmd est spécifique aux systèmes Windows, npm est disponible multiplateforme. Recommandations d'utilisation : les utilisateurs Windows utilisent npm.cmd, les autres systèmes d'exploitation utilisent npm.

Comment connecter Nodejs à la base de données MySQL Comment connecter Nodejs à la base de données MySQL Apr 21, 2024 am 06:13 AM

Pour vous connecter à une base de données MySQL, vous devez suivre ces étapes : Installez le pilote mysql2. Utilisez mysql2.createConnection() pour créer un objet de connexion contenant l'adresse de l'hôte, le port, le nom d'utilisateur, le mot de passe et le nom de la base de données. Utilisez connection.query() pour effectuer des requêtes. Enfin, utilisez connection.end() pour mettre fin à la connexion.

Nodejs est-il un langage de développement back-end ? Nodejs est-il un langage de développement back-end ? Apr 21, 2024 am 05:09 AM

Oui, Node.js est un langage de développement backend. Il est utilisé pour le développement back-end, notamment la gestion de la logique métier côté serveur, la gestion des connexions à la base de données et la fourniture d'API.

Compte à rebours des 12 points faibles de RAG, l'architecte senior de NVIDIA enseigne les solutions Compte à rebours des 12 points faibles de RAG, l'architecte senior de NVIDIA enseigne les solutions Jul 11, 2024 pm 01:53 PM

La génération augmentée par récupération (RAG) est une technique qui utilise la récupération pour améliorer les modèles de langage. Plus précisément, avant qu'un modèle de langage ne génère une réponse, il récupère les informations pertinentes à partir d'une vaste base de données de documents, puis utilise ces informations pour guider le processus de génération. Cette technologie peut considérablement améliorer l'exactitude et la pertinence du contenu, atténuer efficacement le problème des hallucinations, augmenter la vitesse de mise à jour des connaissances et améliorer la traçabilité de la génération de contenu. RAG est sans aucun doute l’un des domaines de recherche les plus passionnants en matière d’intelligence artificielle. Pour plus de détails sur RAG, veuillez vous référer à l'article de la rubrique de ce site "Quelles sont les nouveautés de RAG, spécialisée dans le rattrapage des défauts des grands modèles ?" Cette revue l'explique clairement. Mais RAG n'est pas parfait et les utilisateurs rencontrent souvent des « problèmes » lorsqu'ils l'utilisent. Récemment, la solution avancée d'IA générative de NVIDIA

See all articles