constexpress=require('express')// Inclusion de ExpressJSconstfs=require('fs')// Inclusion de fs (fs.readFile/fs.writeFile)constmoment=require('moment')constapp=express()// Utilisé pour app.get/put/delete/postconstport=9500// On définit la valeur du port sur 9500app.get('/api',function(req,res){// On lit le ficher time.json dans TimeBot/json/time.jsonconstresponse=fs.readFileSync('./TimeBot/json/time.json',{encoding:'utf-8'})constjson=JSON.parse(response)constsecsRemaining=moment(json.timestamp).fromNow()constmsg=`The stream begins in ${secsRemaining}s`res.send(msg)})app.get('/',function(req,res){constts=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'})constdestination='C:\\Users\\admin\\Desktop\\addon\\MonAPI\\Extension_Chrome\\popup.html'constcontent='Hello Node.js'moment(1500048000000).fromNow()fs.writeFile("destination, content",(err)=>{if(err){console.error(err,'writeFile failed')returnres.status(500).send(err)}res.render('index',{timestamp:JSON.parse(ts).timestamp})})})// Port sur lequel est lu le serveur, soit 9500app.listen(port,function(err){if(err)throwerrconsole.log('nickel !')})
J’ai laissé quelques erreurs, à toi de les corriger.
constexpress=require('express');// Inclusion de ExpressJSconstfs=require('fs');// Inclusion de fs (fs.readFile/fs.writeFile)constmoment=require('moment');constapp=express();// Utilisé pour app.get/put/delete/postconstport=9500;// On définit la valeur du port sur 9500varts=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'});vardestination='C:\\Users\\admin\\Desktop\\addon\\MonAPI\\Extension_Chrome\\popup.html';varcontent='Hello Node.js';varresponse=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'});varjson=JSON.parse(response);varsecsRemaining=moment(json.timestamp).fromNow();varmsg=`The stream begins in ${secsRemaining}s`;app.get('/api',function(req,res){// On lit le ficher time.json dans TimeBot/json/time.jsonres.send(msg)});app.get('/',function(req,res){moment(1500048000000).fromNow()fs.writeFile("destination, content",(err)=>{if(err){console.error(err,'writeFile failed')returnres.status(500).send(err)}res.render('index',{timestamp:JSON.parse(ts).timestamp});});});// Port sur lequel est lu le serveur, soit 9500app.listen(port,function(err){if(err)throwerrconsole.log('nickel !');});
C’est bien joli de poster du code, mais si tu ne nous dis pas pourquoi, on ne pourra pas t’aider…
Cela dit, je devine que le fichier n’est toujours pas créé, à cela je répondrai que c’est normal (ligne 23 : deux paramètres au lieu de trois - le premier paramètre étant le problème).
Si tu as bien lu le post, tu sais quel est le problème.
fs.writeFile ne fonctionne pas.
C’est bien joli de poster du code, mais si tu ne nous dis pas pourquoi, on ne pourra pas t’aider…
Cela dit, je devine que le fichier n’est toujours pas créé, à cela je répondrai que c’est normal (ligne 23 : deux paramètres au lieu de trois - le premier paramètre étant le problème).
Si tu as bien lu le post, tu sais quel est le problème.
fs.writeFile ne fonctionne pas.
La fonction writeFile() fonctionne parfaitement. Elle ne fait simplement pas ce que tu souhaites, car tu n’arrives pas à lui parler correctement. Vois ça comme un étranger qui tente de te parler dans français très approximatif : tu vas avoir du mal à le comprendre, voire tu ne le comprendras pas du tout.
Si tu as bien lu le post, tu sais quel est le problème.
fs.writeFile ne fonctionne pas.
La fonction writeFile() fonctionne parfaitement. Elle ne fait simplement pas ce que tu souhaites, car tu n’arrives pas à lui parler correctement. Vois ça comme un étranger qui tente de te parler dans français très approximatif : tu vas avoir du mal à le comprendre, voire tu ne le comprendras pas du tout.
"fais un effort" ? Je suis dessus depuis 2 semaines (et pas seulement 1 ou 2h par jours), dire que je cherche pas c’est faux.
Pour la coloration syntaxique, j’ai trouvé quelques erreurs grâce à ça donc merci de l’info
Au niveau des paramètres, j’ai pas trouvé grand choses sauf un err qu’il manquait.
Et les exemples de la doc, j’ai re-vérifié et j’ai trouvé une erreur.
constexpress=require('express');// Inclusion de ExpressJSconstfs=require('fs');// Inclusion de fs (fs.readFile/fs.writeFile)constmoment=require('moment');constapp=express();// Utilisé pour app.get/put/delete/postconstport=9500;// On définit la valeur du port sur 9500varts=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'});vardestination='C:\\Users\\admin\\Desktop\\addon\\MonAPI\\Extension_Chrome\\popup.html';varcontent='Hello Node.js';varresponse=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'});varjson=JSON.parse(response);varsecsRemaining=moment(json.timestamp).fromNow();varmsg=`The stream begins in ${secsRemaining}s`;app.get('/api',function(req,res){// On lit le ficher time.json dans TimeBot/json/time.jsonres.send(msg)});app.get('/',function(req,res){moment(1500048000000).fromNow()fs.writeFile(destination,content,(err)=>{if(err){console.error(err,'le writeFile a échoué')returnres.status(500).send(err)};res.render('index',{timestamp:JSON.parse(ts).timestamp});});});// Port sur lequel est lu le serveur, soit 9500app.listen(port,function(err){if(err)throwerrconsole.log('nickel !');});
undefined:1
undefined
^
SyntaxError: Unexpected token u in JSON at position 0
at JSON.parse (<anonymous>)
at Object.<anonymous> (C:\Users\admin\Desktop\addon\MonAPI\server.js:9:17)
at Module._compile (module.js:569:30)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:503:32)
at tryModuleLoad (module.js:466:12)
at Function.Module._load (module.js:458:3)
at Function.Module.runMain (module.js:605:10)
at startup (bootstrap_node.js:158:16)
at bootstrap_node.js:575:3
`
D’après ce que j’ai compris, "u" n’est pas reconnu à la ligne 1. Sauf que je n’en vois pas …
constexpress=require('express');// Inclusion de ExpressJSconstfs=require('fs');// Inclusion de fs (fs.readFile/fs.writeFile)constmoment=require('moment');constapp=express();// Utilisé pour app.get/put/delete/postconstport=9500;// On définit la valeur du port sur 9500varts=fs.readFile('./TimeBot/json/time.json',{encoding:'utf-8'});vardestination='C:\\Users\\admin\\Desktop\\addon\\MonAPI\\Extension_Chrome\\popup.html';varcontent='Hello Node.js';varjson=JSON.parse(ts);varsecsRemaining=moment(json.timestamp).fromNow();varmsg=`The stream begins in ${secsRemaining}s`;app.get('/api',function(req,res){// On lit le ficher time.json dans TimeBot/json/time.jsonres.send(msg);});app.get('/',function(req,res){moment(1500048000000).fromNow()fs.writeFile(destination,content,(err)=>{if(err){console.error(err,'le writeFile a échoué')returnres.status(500).send(err)};res.render('index',{timestamp:JSON.parse(ts).timestamp});});});// Port sur lequel est lu le serveur, soit 9500app.listen(port,function(err){if(err)throwerrconsole.log('nickel !');});`
J’ai eu quelques erreurs, j’ai essayé de les résoudres, et pour certaines j’ai réussi, mais celle-ci je comprends pas.
Le JSON n’est pas valide. Si le JSON n’est pas valide, est-ce que tu crois pas que tu devrais regarder si le JSON est valide, au lieu de regarder le JS ?
Le JSON n’est pas valide. Si le JSON n’est pas valide, est-ce que tu crois pas que tu devrais regarder si le JSON est valide, au lieu de regarder le JS ?
T’as remis la même question, ça sert à quoi de la mettre si j’ai dis quelque chose et que c’est pas ça
La meilleur solution serait de reformuler ta phrase.
Je dirais pas ça, non. Node c’est juste un petit framework autour d’un runtime JS. C’est pas différent de JavaScript dans un autre contexte, genre un navigateur.
Il faut apprendre JavaScript pour utiliser JavaScript. Ça oui. Et là Awoken se trompe en tentant d’utiliser JavaScript sans apprendre/comprendre JavaScript. Mais après, Node est dans un sens moins compliqué que faire du JS dans un navigateur parce qu’un navigateur c’est un gros foutoir plein d’APIs bizarres et d’effets de bords.
Le javascript, oui je comprends. J’ai suivi plusieurs cours la-dessus, après c’est vrai que ça remonte à un peu longtemps et que j’ai pas pris le temps de revoir un peu ce langage.
Dis-moi, Awoken, as-tu des bases en JavaScript ? Je commence sérieusement à me le demander, l’erreur commise ici étant classique chez les débutants.
Il est important d’avoir des connaissances solides en JavaScript pour s’aventurer en Node.js.
Je dirais pas ça, non. Node c’est juste un petit framework autour d’un runtime JS. C’est pas différent de JavaScript dans un autre contexte, genre un navigateur.
Il faut apprendre JavaScript pour utiliser JavaScript. Ça oui. Et là Awoken se trompe en tentant d’utiliser JavaScript sans apprendre/comprendre JavaScript. Mais après, Node est dans un sens moins compliqué que faire du JS dans un navigateur parce qu’un navigateur c’est un gros foutoir plein d’APIs bizarres et d’effets de bords.
victor
Le js je comprends mais depuis un certain temps j’ai des lacunes et je ne les revoies pas.
Justement, j’y ai réfléchis récemment et je voudrais refaire un cours la-dessus.
Sur Openclassrooms j’aime pas trop leurs cours la-dessus, vous avez une solution ? (j’irais revoir le js après ce problème car c’est ma priorité).
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte