IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

Débuter avec Node


Sujet :

NodeJS

  1. #21
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Les points-virgule, erreur de débutant...
    Et pour l'item, j'ai préféré demandé, je trouvais ça bizarre.

    Par contre, mes pages s'affichent, mais rien sur la page salon...
    Et j'ai voulu ajouter une route vers la page index.ejs, la / de l'appli, mais ça ne fonctionne pas.

    C'est au début, à ce niveau que je devrais ajouter la route, comme celle-ci par exemple ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    app.get('/etage/salon', function(req, res) {
        res.render('salon.ejs', {etage: req.params.etagenum});
    });
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  2. #22
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Bonjour,

    Si tu as ajouter une route sur '/' qui correspond à la racine de ton appli il est alors normal que ta route sur /etage/salon ne s'affiche pas.

    Quand tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    app.get('/', ta fonction....)
    Alors tous les chemins commençait par '/' (/etage, /test/test2) appelleront la fonction précédente

    Sinon oui la syntaxe de la route que tu as posté est correcte et devrait fonctionner

  3. #23
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Mon appli commence par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    app.get('/', function(req, res)
    Mais je ne sais pas comment ni où ajouter la route vers ma page index.ejs. Avec les autres routes, ou au tout début de l'application ?
    Mais donc, quand je vais sur localhost:8080 il ne trouve rien.

    Mais les pages sous-sol et etage/salon.ejs s'affichent bien elles. Même si je n'ai pas le flux rss sur la page salons.ejs et que je ne sais pas pourquoi.
    Voilà ce que contient la page salon.ejs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h1>Vous êtes dans le salon</h1>
     
    <p>Bienvenue !</p>
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  4. #24
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Il nous faudrait le code de ton appli côté serveur qui gère les routes etc pour éventuellement pouvoir mieux te guider

  5. #25
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Le voilà. J'ai essayé avec un autre flux mais le soucis vient sûrement de mon code. Et pour l'index.ejs, j'ai essayé différent truc mais ça ne fonctionne tjs pas.

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    var express = require('express');
    var app = express();
     
    var FeedParser = require('feedparser')
    var request = require('request');
     
    var req = request('http://www.slate.fr/rss.xml')
    var feedparser = new FeedParser();
     
     
    app.get('/', function(req, res) {
     
    req.on('error', function (error) {
      // handle any request errors
    });
    req.on('response', function (res) {
      var stream = this;
     
      if (res.statusCode != 200) return this.emit('error', new Error('Bad status code'));
     
      stream.pipe(feedparser);
    });
     
     
    feedparser.on('error', function(error) {
      // always handle errors
    });
    feedparser.on('readable', function() {
      // This is where the action is!
      var stream = this;
         meta = this.meta;
         item;
     
     
      while (item = stream.read()) {
         items.push(item);
        console.log(item.title || item.description);
      }
     
      res.render('salon.ejs', {'items' : items});
     
    });
     
    app.get('/sous-sol', function(req, res) {
        res.setHeader('Content-Type', 'text/plain');
        res.end('Vous êtes dans le sous-sol');
    });
     
    app.get('/etage/salon', function(req, res) {
        res.render('salon.ejs', {etage: req.params.etagenum});
    });
     
    app.use(function(req, res, next){
        res.setHeader('Content-Type', 'text/plain');
        res.send(404, 'Page introuvable !');
    });
     
    });
     
    app.listen(8080);
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  6. #26
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Pourquoi les urls '/etage/salon' et '/' chargent le même fichier ? ('salon.ejs')

    C'est quoi ton but en fait ?

  7. #27
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Cette portion de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    app.use(function(req, res, next){
        res.setHeader('Content-Type', 'text/plain');
        res.send(404, 'Page introuvable !');
    });
    Que veux tu faire précisément ? Car sauf erreur de ma part j'ai l'impression que tu renvois une erreur 404 quelque soit la requête du client.
    Je précise d'après la doc de express la fonction est appelée par défaut à tous les appel d'une page commençant par "/". Tu peux préciser dans le premier paramètre de app.use() le chemin pour lequel tu veux renvoyer l'erreur 404.

  8. #28
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    C'est une bête erreur de ma part avec les routes, j'ai tout mis dans le code de l'appli. C'est bon, quand on charge localhost:8080 on arrive bien sur index.ejs, et les autres pages fonctionnent bien elles aussi.

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    var express = require('express');
    var app = express();
     
    var FeedParser = require('feedparser')
    var request = require('request');
     
    var req = request('http://www.huffingtonpost.com/feeds/verticals/france/news.xml')
    var feedparser = new FeedParser();
     
     
    app.get('test', function(req, res) {
     
    req.on('error', function (error) {
      // handle any request errors
    });
    req.on('response', function (res) {
      var stream = this;
     
      if (res.statusCode != 200) return this.emit('error', new Error('Bad status code'));
     
      stream.pipe(feedparser);
    });
     
     
    feedparser.on('error', function(error) {
      // always handle errors
    });
    feedparser.on('readable', function() {
      // This is where the action is!
      var stream = this;
         meta = this.meta;
         item;
     
     
      while (item = stream.read()) {
         items.push(item);
        console.log(item.title || item.description);
      }
     
      res.render('test.ejs', {'items' : items});
     
    });
     
    });
     
     
    app.get('/', function(req, res) {
        res.render('index.ejs');
    });
     
    app.get('/test', function(req, res) {
        res.render('test.ejs');
    });
     
    app.get('/sous-sol', function(req, res) {
        res.setHeader('Content-Type', 'text/plain');
        res.end('Vous êtes dans le sous-sol');
    });
     
    app.get('/etage/salon', function(req, res) {
        res.render('salon.ejs', {etage: req.params.etagenum});
    });
     
    app.use(function(req, res, next){
        res.setHeader('Content-Type', 'text/plain');
        res.send(404, 'Page introuvable !');
    });
     
     
    app.listen(8080);
    Le but là, c'est juste de créer quelques pages, pouvoir naviguer dedans, et avoir quelques petites applis sur certaines.
    Et là, tjs pas de flux RSS... Ni dans la console.
    J'ai parfois ce message dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    express deprecated res.send(status, body): Use res.status(status).send(body) instead app.js:62:9
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  9. #29
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Il te dit que ca c'est plus utilisé ->

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res.send(404, 'Page introuvable !');
    Et d'utiliser ca à la place ->
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res.status(404).send('Page introuvable !');
    Il y a quoi dans test.ejs ?
    Affiche tu les Items ?

    Fais ca avant le render pour voir si il y a des items de récupéré...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    console.log(items);

  10. #30
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Pas d'items récupéré dans la console avec log, et rien sur la page test.ejs
    Mais, question bête, qu'elle est la syntaxe pour afficher les items, sur une page .ejs ?
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  11. #31
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Oui, c'est normal puisque l'événement readable est sûrement appelé avant que tu appelle toi même la page test.
    - enlève la section readable et response de ton routeur test
    - met un console.log de chaque item dans le while.
    - déclare items en global, en haut de ton fichier.

    Pour ejs je connais pas, mais comme on dit au boulot " lie la putain de doc".
    http://www.embeddedjs.com/

  12. #32
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Si je comprends bien, et qui parrait logique, c'est que les actions de l'appli sont effectuées dès que je lance l'appli, que j'aille ou non sur la page test.ejs.

    Je peine un peu avec ça :
    "enlève la section readable et response de ton routeur test", pourrais-tu, stp, expliciter un peu plus ?

    Sinon, ok pour item et log, je pense avoir fais ce qu'il faut là (un petit doute avec item qui est parfois singulier parfois pluriel).

    RTFM (Read The Fucking Manual) ;-)

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    var express = require('express');
    var app = express();
     
    var FeedParser = require('feedparser')
    var request = require('request');
     
    var req = request('http://www.slate.fr/rss.xml')
    var feedparser = new FeedParser();
     
    var item;
     
    app.get('test', function(req, res) {
     
    req.on('error', function (error) {
      // handle any request errors
    });
    req.on('response', function (res) {
      var stream = this;
     
      if (res.statusCode != 200) return this.emit('error', new Error('Bad status code'));
     
      stream.pipe(feedparser);
    });
     
     
    feedparser.on('error', function(error) {
      // always handle errors
    });
    feedparser.on('readable', function() {
      // This is where the action is!
      var stream = this;
         meta = this.meta;
     
     
     
      while (item = stream.read()) {
         items.push(item);
        console.log(item);
      }
      res.render('test.ejs');
     
    });
     
    });
     
     
    app.get('/', function(req, res) {
        res.render('index.ejs');
    });
     
    app.get('/test', function(req, res) {
        res.render('test.ejs');
    });
     
    app.get('/sous-sol', function(req, res) {
        res.setHeader('Content-Type', 'text/plain');
        res.end('Vous êtes dans le sous-sol');
    });
     
    app.get('/etage/salon', function(req, res) {
        res.render('salon.ejs', {etage: req.params.etagenum});
    });
     
    app.use(function(req, res, next){
        res.setHeader('Content-Type', 'text/plain');
        res.status(404).send('Page introuvable !');
    });
     
     
    app.listen(8080);
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  13. #33
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Javascript et asynchrone. Quand tu démarre le serveur il execute le code qu'il y a dans app.js. Il lit le fichier rss et quand il a fini, je suppose qu'il envoi l'évement readable...
    Du coup quand tu appelle ta page ca fait un bon moment que l'évennement a eu lieu. Le but de mettre items en haut du fichier est de faire une variable global.
    "Items" est un tableau qui va stocker toutes les "item" et les conserver jusqu'a ce que tu appelle ta page ou il va te donner le résultat.

    Je voyais le truc un peu comme ca :

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    var express = require('express');
    var app = express();
     
    var FeedParser = require('feedparser')
    var request = require('request');
     
    var req = request('http://www.slate.fr/rss.xml')
    var feedparser = new FeedParser();
     
    var items = [];
     
    req.on('error', function (error) {
        // handle any request errors
    });
    req.on('response', function (res) {
        var stream = this;
     
        if (res.statusCode != 200) return this.emit('error', new Error('Bad status code'));
     
        stream.pipe(feedparser);
    });
     
     
    feedparser.on('error', function(error) {
        // always handle errors
    });
    feedparser.on('readable', function() {
        // This is where the action is!
        var stream = this;
        var meta = this.meta;
        var item = {};
     
     
        while (item = stream.read()) {
            items.push(item);
        }
    });
     
    app.get('test', function(req, res) {
        console.log(items);
        res.render('test.ejs', {items: items});
    });
     
    app.get('/', function(req, res) {
        res.render('index.ejs');
    });
     
    app.get('/test', function(req, res) {
        res.render('test.ejs');
    });
     
    app.get('/sous-sol', function(req, res) {
        res.setHeader('Content-Type', 'text/plain');
        res.end('Vous êtes dans le sous-sol');
    });
     
    app.get('/etage/salon', function(req, res) {
        res.render('salon.ejs', {etage: req.params.etagenum});
    });
     
    app.use(function(req, res, next){
        res.setHeader('Content-Type', 'text/plain');
        res.status(404).send('Page introuvable !');
    });
     
     
    app.listen(8080);
    Je te laisse voir si ca fonctionne.

  14. #34
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Ok, merci des explications. Je savais pour asynchrone, mais je n'en voyais pas ttes les subtilités.

    Dans le code, j'ai enlevé cela car il y avait 2 routes pour test.ejs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    app.get('test', function(req, res) {
        console.log(items);
        res.render('test.ejs', {items: items});
    });

    Dans la paje test.ejs, j'ai mis cela, mais ça ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h1>Page de TEST</h1>
     
    <p>Bienvenue !</p>
     
    <br>
     
    <%= item = {} %>
     
    <br>

    Il m'affiche quand même quelque chose :

    RTFM, j'ai regardé la doc, mais j'avoue que ça ne m'aide pas beaucoup pour ejs :
    https://github.com/tj/ejs
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  15. #35
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Ce code la tu le garde:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    app.get('test', function(req, res) {
        console.log(items);
        res.render('test.ejs', {items: items});
    });
    Car il te permet de passer le tableau items à ta vue. Enlève l'autre...
    Et aussi le console.log va nous permettre d'afficher la structure de la variable items.

    Pour ejs, utilise le comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ul>
    <% for(var i=0; i<items.length; i++) {%>
       <li><%= items[i] %></li>
    <% } %>
    </ul>
    Si t'arrive a voir ce qu'il y a dans items (via le console.log), tu vera surement qu'il est composé d'un tableau d'objet et que chaque objet a une propriété "link".

    Tu pourra alors changer ta vue pour afficher chaque link:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ul>
    <% for(var i=0; i<items.length; i++) {%>
       <li><%= items[i].link %></li>
    <% } %>
    </ul>

  16. #36
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Je ne comprends rien là. J'ai bien laissé la route vers test.ejs comme tu me l'a dis, mais maintenant j'ai "page introuvable" pour test, mais ttes les autres routes marchent...
    Et pas d'erreur dans la console.
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  17. #37
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Oui, il y a une erreur. Remplace test par /test comme ci-dessou.
    J'ai pu tester, cher moi sa fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    app.get('/test', function(req, res) {
        console.log(items);
        res.render('test.ejs', {items: items});
    });

  18. #38
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    Je sais pas comment tu fais tes essais de code mais si tu veux travailler plus efficacement je te conseil d'installer nodemon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    npm install -g nodemon
    et ensuite tu démarre ton projet comme ca :

    Plus besoin de redémarrer ton serveur node, il redémarre automatiquement à chaque changement de fichier JavaScript.

  19. #39
    Membre habitué Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 759
    Points : 184
    Points
    184
    Par défaut
    Erreur de débutant encore...

    Bon, ça avance, sur la page test.ejs, j'obtiens juste cette liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
        [object Object]
    Et dans la console, j'ai le flux avec pleins d'infos. Petit extrait :

    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
     'rss:comments': 
         { '@': {},
           '#': 'http://www.slate.fr/story/98315/aide-france-arabie-saoudite-liban#comments' },
        'rss:category': 
         [ [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object],
           [Object] ],
        'rss:enclosure': { '@': [Object] },
        'rss:pubdate': { '@': {}, '#': 'Fri, 27 Feb 2015 14:13:48 +0000' },
        'dc:creator': { '@': {}, '#': 'Bachir El Khoury' },
        'rss:guid': { '@': [Object], '#': '98315 at http://www.slate.fr' },
        meta: 
         { '#ns': [Object],
           '@': [Object],
           '#xml': [Object],
           '#type': 'rss',
           '#version': '2.0',
           title: 'Slate.fr',
           description: null,
           date: null,
           pubdate: null,
           pubDate: null,
           link: 'http://www.slate.fr',
           xmlurl: null,
           xmlUrl: null,
           author: null,
           language: 'en',
           favicon: null,
           copyright: null,
           generator: null,
           cloud: {},
           image: {},
           categories: [],
           'rss:@': {},
           'rss:title': [Object],
           'rss:link': [Object],
           'rss:description': [Object],
           'rss:language': [Object] } },
    ANDRE Ani
    GNU/Linux et Informatique Libre
    https://andre-ani.fr

  20. #40
    Membre actif Avatar de John Blobsmith
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 198
    Points : 223
    Points
    223
    Par défaut
    met ca dans test.ejs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <ul>
    <% for(var i=0; i<items.length; i++) {%>
       <li><%= items[i].link %></li>
    <% } %>
    </ul>

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/03/2012, 17h09
  2. Réponses: 0
    Dernier message: 12/03/2012, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo