Static file serving and directory listing
JavaScript CSS HTML

readme.md

serve

Build Status XO code style Slack Channel

Ever wanted to share a certain directory on your network by running just a command? Then this module is exactly what you're looking for: It provides a neat interface for listing the directory's contents and switching into sub folders.

In addition, it's also awesome when it comes to serving static sites. If a directory contains an index.html, serve will automatically render it instead of serving the file's content as plaintext.

screenshot

Usage

Install it (needs at least Node LTS):

npm install -g serve

And run this command in your terminal:

serve <path> [options]

Options

Run this command to see a list of all available options:

serve help

Authentication

If you set the --auth flag, the package will look for a username and password in the SERVE_USER and SERVE_PASSWORD environment variables.

As an example, this is how such a command could look like:

SERVE_USER=leo SERVE_PASSWORD=1234 serve --auth

API

You can also use the package inside your application. Just load it:

const serve = require('serve')

And call it with flags (run this command for the full list):

const server = serve({
  port: 1337,
  ignore: ['node_modules']
})

Later in the code, you can stop the server using this method:

server.stop()

Contributing

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Uninstall serve if it's already installed: npm uninstall -g serve
  3. Link it to the global module directory: npm link

After that, you can use the serve command everywhere. Here's a list of issues that are great for beginners.

Credits

This project used to be called "list" and "micro-list". But thanks to TJ Holowaychuk handing us the new name, it's now called "serve" (which is much more definite).

Author

Leo Lamprecht (@notquiteleo) - ▲ZEIT