bonjour,
node.js c'est du javascript pour serveur mais est-ce qu'on peut créer du code javascript executé côté client ?
Merci d'avance
bonjour,
node.js c'est du javascript pour serveur mais est-ce qu'on peut créer du code javascript executé côté client ?
Merci d'avance
Bonjour,
Tu ne pourras pas utiliser les API nodejs côté client si c'est ta question.
Code : Sélectionner tout - Visualiser dans une fenêtre à part res.write('<script>alert("Magic !")</script>');
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Je trouve que la question initiale n'est pas claire. Si tu veux exécuter du code utilisant les API nodejs côté client, oublie. Si tu veux que nodejs envoie du contenu JS (utilisant des API clientes) au client pour qu'il y soit exécuter, c'est effectivement possible, cf l'exemple de Bovino.
Pour étoffer un peu la réponse d'Enerian, tu sembles surtout vouloir utiliser Nodejs sans vraiment savoir ce que c'est.
Il ne faut pas se laisser tromper par l'utilisation de JavaScript côté serveur.
En clair : ce n'est pas parce que Node est du JavaScript côté serveur que le code écrit pour le serveur sera valable pour le navigateur. Les deux ont des rôles, des contraintes et des technicités diamétralement opposées.
Bref, essaye de voir Node comme un équivalent de tout autre langage serveur (PHP, Java, .Net, etc.) qui sert donc à faire des traitements sur le serveur et de produire un contenu (donc généralement HTML + CSS + JavaScript) à envoyer au navigateur afin qu'il le transforme en page Web.
Donc le JavaScript serveur et le JavaScript client ne travaillent ni au même moment, ni dans le même environnement. De ce fait, le JavaScript client est un langage essentiellement événementiel et réagissant aux interactions de l'utilisateur, les API mises à disposition par le navigateur sont dans la grande majorité basées là-dessus et sur la manipulation du DOM. Or côté serveur, les événements utilisateur n'ont aucun sens, pas plus que la notion de DOM.
Inversement, les API mises à disposition de Node et permettant d'utiliser les ressources du serveur n'ont aucun sens dans le navigateur.
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Il veut peut-être utiliser du code JavaScript à la fois côté serveur que côté client ?
Il y a pas mal de librairies (Browserify, Webmake, Webpack) qui fleurissent autour de cette problématique. Comment dois je organiser/écrire mon code pour qu'il soit disponible à la fois pour Node et pour le Navigateur.
Par exemple jQuery (2.x seulement, Node 0.10), peut désormais être utilisé aussi bien côté serveur que client.
On appelle ça le UMD pattern (Universal Module Definition). Cela permet d'empaqueter le code JavaScript afin qu'il soit exécutable qu'importe l'environnement. Une implémentation possible :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 (function (root, factory) { if (typeof exports === 'object') { // CommonJS module.exports = factory(require('b')); } else if (typeof define === 'function' && define.amd) { // AMD define(['b'], function (b) { return (root.returnExportsGlobal = factory(b)); }); } else { // Classique, var globale root.returnExportsGlobal = factory(root.b); } }(this, function (b) { // Ici le code du module return {}; }));
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager