'use strict' const path = require('path') const Handlebars = require('handlebars') const fastify = require('fastify')({ logger: { level: 'trace' } }) // Handlebar template for listing files and directories. const template = ` dirs list ` const handlebarTemplate = Handlebars.compile(template) fastify .register(require('..'), { // Array of absolute paths containing static files to serve root: [path.join(__dirname, '/public'), path.join(__dirname, '/public2')], // Do not append a trailing slash to prefixes prefixAvoidTrailingSlash: true, // Return a directory listing with a handlebar template list: { // html or json response? html requires a render method. format: 'html', // A list of filenames that trigger a directory list response. names: ['index', 'index.html', 'index.htm', '/'], // You can provide your own render method as needed. render: (dirs, files) => handlebarTemplate({ dirs, files }) } }) .listen(3000, err => { if (err) throw err })