Je viens de me rendre de quelque chose de pas très propre ce matin dans mon application Node.js / Express.js
J'ai rajouté un logger des requêtes SQL qui sont executées et je me suis apperçu que lorsque l'utilisateur est connecté, la requête du DeserializeUser est executée pour chaque assets, ce qui fait que pour une seule page de charger, au lieu d'avoir une requête SQL je me retrouve avec n requêtes où n = le nombres d'assets chargées dans la page.
J'ai regardé sur le net et j'ai mis en place app.use serve-static sur mon dossiers assets pour après initialiser passport mais quoi que je fasse, j'ai toujours genre 20 requêtes SQL dupliquées et executées pour chaque assets qui doit charger.
Voici les logs du serveur :
[INFO] Application in DEVELOPMENT mode.
✓ Server is running at http://localhost:3001 in development mode
Press CTRL-C to stop
✓ Mysql server is connected to the application. (host: 5.xx.xx.xx)
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /home 304 - - 55.567 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/tether/dist/js/tether.min.js 404 191 - 27.458 ms
GET /assets/bower_components/jquery/dist/jquery.min.js 404 188 - 13.760 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/js/jquery-ui.min.js 404 165 - 16.954 ms
GET /assets/bower_components/bootstrap/dist/js/bootstrap.js 404 193 - 13.020 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/moment/moment.js 404 179 - 18.703 ms
GET /assets/bower_components/remarkable-bootstrap-notify/dist/bootstrap-notify.js 404 215 - 15.757 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/moment/moment.js 404 179 - 11.937 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /register 302 46 - 17.134 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET / 302 54 - 12.159 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /home 304 - - 24.735 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/jquery/dist/jquery.min.js 404 188 - 13.645 ms
GET /assets/bower_components/tether/dist/js/tether.min.js 404 191 - 13.482 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/js/jquery-ui.min.js 404 165 - 24.741 ms
GET /assets/bower_components/bootstrap/dist/js/bootstrap.js 404 193 - 39.909 ms
GET /assets/bower_components/remarkable-bootstrap-notify/dist/bootstrap-notify.js 404 215 - 20.711 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/moment/moment.js 404 179 - 15.833 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/jquery/dist/jquery.min.js 404 188 - 14.898 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/js/jquery-ui.min.js 404 165 - 12.972 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/bootstrap/dist/js/bootstrap.js 404 193 - 12.952 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/remarkable-bootstrap-notify/dist/bootstrap-notify.js 404 215 - 11.593 ms
[MySQL LOGGER] SELECT * FROM `users` WHERE `id` = '1'
GET /assets/bower_components/moment/moment.js 404 179 - 13.554 ms
Absolute honesty isn't always the most diplomatic nor the safest form of communication with emotional beings.
[Node.js/Passport]DeserializeUser à chaque assets
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.