Bonjour,
Dans un environnement node.js et express.js je cherche à faire un livereload lié à un onglet de mon navigateur. Pour la recompilation de node.js après chaque modification j'utilise nodemon. J'ai tenté de mettre en place reload de npm, mais apparement je ne suis pas doué.
Si quelqu'un a déjà tenté de mettre en place ce type de configuration, même avec des outils node.js différents, je serais ravis d'entendre son avis sur le sujet.
Bien sûr il existe un exemple sur la page du module reload mais je n'arrive pas à l'adapter à mon code. Voici le code minimum qu'il me semblerait devoir fonctionner... qui ne fonctionne pas (mais qui au moins ne fait pas planter l'environnement).
Et quelque part dans un template commun à toutes les pages :
Les variables sont appelées via un autre fichier mais sont basiques et gérèreraient de toute façon une erreur en cas de mauvaises config' :
Modifié par Olivier C (27 Jan 2017 - 08:48)
Dans un environnement node.js et express.js je cherche à faire un livereload lié à un onglet de mon navigateur. Pour la recompilation de node.js après chaque modification j'utilise nodemon. J'ai tenté de mettre en place reload de npm, mais apparement je ne suis pas doué.
Si quelqu'un a déjà tenté de mettre en place ce type de configuration, même avec des outils node.js différents, je serais ravis d'entendre son avis sur le sujet.
Bien sûr il existe un exemple sur la page du module reload mais je n'arrive pas à l'adapter à mon code. Voici le code minimum qu'il me semblerait devoir fonctionner... qui ne fonctionne pas (mais qui au moins ne fait pas planter l'environnement).
// app.js
'use strict'
const express = require('express')
, http = require('http')
, reload = require('reload')
, app = express()
, config = require('./config')
// ici du code de configuration
// sans lien avec le problème rencontré...
app.get('*', function(req, res){ // une route par défaut (404)
res.status(404)
res.render('patternLayouts',
{
dev: config.dev
, siteUri: config.uri
, title: 'Error 404'
, description: 'Error 404, Page not found'
, name: 'Error 404'
, content: 'Page not found'
}
)
})
const server = http.createServer(app) // démarrage d'un serveur
server.listen(config.port, config.host, logSuccess)
reload(server, app)
function logSuccess() {
console.log('un message informant le terminal que le serveur a démarré...')
}
Et quelque part dans un template commun à toutes les pages :
// footer.pug
// du code de template...
script(src='/reload/reload.js') // a priori ce lien devrait être parsé et réécrit par le module mais il ne se passe rien et j'ai donc une erreur 404...
// du code de template...
Les variables sont appelées via un autre fichier mais sont basiques et gérèreraient de toute façon une erreur en cas de mauvaises config' :
// config.js
exports.dev = true
exports.scheme = 'http://'
exports.host = '127.0.0.1'
exports.port = 9000 // ou `process.env.port || 9000`
exports.dir = __dirname
exports.uri = exports.scheme + exports.host + ':' + exports.port
Modifié par Olivier C (27 Jan 2017 - 08:48)