I am trying to display images from a folder in my project using the "fs" module with NodeJS. I need to read all images in a directory and run them in a loop for them to be displayed. I was able to do it but I'm not sure if this is the proper or good way to do it.

I inserted my readdir (Reading Files Asynchronously) inside my Homepage route. The images were displayed but I have no one to ask if I did it the proper way.

const express = require('express');
const router = express.Router();
const fs = require('fs');

router.get('/', function(){ 
    fs.readdir('./assets/images/', (err, files) => {
        if(err) {
            throw err;
        res.render('home', {
            files: files

module.exports = router;

  • \$\begingroup\$ Perhaps you should also provide us the res.render function \$\endgroup\$ – konijn Jul 22 at 11:57
  • \$\begingroup\$ Hi @konijn, res.render function is from express module required on top, you can check here for reference --> expressjs.com/en/api.html#res.render . Thank you! \$\endgroup\$ – Vhin Gabuat Jul 22 at 22:44

That's not a lot to review, but it looks textbook good.

If anything, the value of './assets/images/' could have been an upfront declared constant, or could have been retrieved from a configuration file.

  • \$\begingroup\$ @konjin Thanks for making time reviewing my code, Your advice is highly appreciated! Thanks again! \$\endgroup\$ – Vhin Gabuat Jul 22 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.