En ce momentGenshin ImpactValhallaBreath of the wildAnimal CrossingGTA 5Red dead 2
Liste des sujets
[NodeJS] Sauvegarder une page HTML
Neooxys
Niveau 9
04 décembre 2016 à 22:30:43
Dans le cadre de mon projet de deuxième année, je dois créer un site permettant un partage de compte pour les voyages et les collocations. Nous utilisons le NodeJS avec Express et Swig(rip) pour développer notre appli. Je suis actuellement en train de travailler sur une transformation d'une page HTML générée dynamiquement avec des variables JSON en fichier local car j'ai besoin de la stocker pour travailler dessus après. Cela fait quelques jours que je suis à la recherche d'une solution viable J'ai essayé d'utiliser les FileSystem en rentrant le code HTML dedans mais sans succès
Si l'un d'entre vous avait une piste ou une solution je lui en serait infiniment reconnaissant!
lisarael
Niveau 13
05 décembre 2016 à 10:06:09
Je ne suis pas sûr de bien comprendre ce que tu veux. Si tu veux simplement sauvegarder le résultat HTML d'un parsing serveur, tu vas dans ton navigateur, clic droit, enregistrer la page sous…. Si tu veux pouvoir générer ta page en local depuis les templates et les données statiques, sans serveur, le plus simple est de regarder s'il existe une interface en ligne de commande pour ton langage de templates (que je ne connais pas, personnellement, je travaille avec jade/pug), et sinon, passer par Grunt ou un task-runner du même genre.
jvcacc6
Niveau 8
05 décembre 2016 à 11:39:54
FileSystem était la bonne solution pourtant
Tu as essayé de faire ça ?
fs.writeFile('helloworld.html', '<h1>Hello World!</h1>', function (err) {
if (err) return console.log(err);
});
Message édité le 05 décembre 2016 à 11:42:26 par jvcacc6
LECROU
Niveau 10
05 décembre 2016 à 13:31:57
Si tu utilises une lib de templating elle a peut-être des méthodes pour exporter le résultat sous forme de string que tu pourras exporter facilement. Sinon tu devras le faire manuellement de la même maniere que tu construis ta page actuellement. Mais ça risque d'être sale
Neooxys
Niveau 9
05 décembre 2016 à 14:00:29
Je dois faire des requêtes vers une base de données et entrer ces valeurs dynamiquement dans la page html (j'utilise swig ici, exemple : <p> Récapitulatif de : '{{Event[0].DescEvent}}' </p>) Le truc étant qu'il faut que les variables swig soient interprétés (ici on affiche la description de l'évènement) et je dois ensuite stocker le résultat final avec les variables transcrites en dur.
Le 05 décembre 2016 à 10:06:09 lisarael a écrit : Je ne suis pas sûr de bien comprendre ce que tu veux. Si tu veux simplement sauvegarder le résultat HTML d'un parsing serveur, tu vas dans ton navigateur, clic droit, enregistrer la page sous….
C'est exactement le rendu que je veux mais je cherche une solution automatique avec du code ou des modules (je vois mal le client avoir à faire clic droit sur la page à chaque fois quoi :x)
Neooxys
Niveau 9
05 décembre 2016 à 15:45:58
J'ai trouvé la solution en générant le fichier directement avec le template du html
Swig.CompileFile("template.html") Var output = Template({variables})
Et ensuite fs.Writefile("render.html",output,function(err){test erreur}});