1.0.3 • Published 6 years ago

@lobal/dir-serve v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

Install

npm install @lobal/dir-serve

Paramters

import directoryServeMiddleware from '@lobal/dir-serve';

// extension[string]: file type to be converted to route.
// handler[function](optional): funtion to parse file before sending. If omitted the file will be sent as text with res.send(file).
// headers[object](optional): Additional headers to be sent with the file. content-type is automatically populated from mime-types.json, but can be overridden here.
const fileTypes = [
    {
        extension: 'html'
    },
    {
        extension: 'php', 
        handler: phpHandler
    },
    {
        extension: 'bobx', 
        handler: bobXHandler, 
        headers: {
            "content-type": "text/html;charset=UTF-8", 
        }
    }
];

// webDir[string]: directory to serve files from.
// fileTypes[array](optional): config options for each file type.
directoryServeMiddleware(webDir, fileTypes);

Basic usage

import express from 'express';
import path from 'path';
import directoryServeMiddleware from '@lobal/dir-serve';

const router = express.Router();
const webDir = path.join(__dirname, 'www');

// Supports HTML files by default.
// webDir: the directory you want to serve .
router.use('/', directoryServeMiddleware(webDir));
// ...

Custom file types

//...
// Custom handler for .php files
const myPhpParser = (req, res, file) => {
    const parsedFile = nodePhpParser.parse(file);
    res.sendFile(parsedFile);
};

const fileTypes = [
    {
        extension: 'html'
    },
    {
        extension: 'php', 
        handler: myPhpParser
    }
];

router.use('/', directoryServeMiddleware(webDir, fileTypes));
//...
1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago