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.
Install it (needs at least node v6):
npm install -g serve
And run this command in your terminal:
serve <path> [options]
You can find a list of all options below.
Usage | Description | Default value |
---|---|---|
-h, --help | Output all available options | - |
-v, --version | The version tag of the serve instance on your device |
- |
-p, --port [port] | A custom port on which the app will be running | 3000 |
-c, --cache [seconds] | How long static files should be cached in the browser | 3600 |
-s, --single | Serve single page apps with only one index.html in the root directory |
- |
-u, --unzipped | Disable gzip compression | false |
-i, --ignore | Files and directories to hide from the directory listing | - |
-a, --auth | Enable HTTP authentication (read more here) | false |
If you set the --auth
flag, serve
will look for a username and password in the SERVE_USER
and SERVE_PASSWORD
environment variables.
- Fork this repository to your own GitHub account and then clone it to your local device
- Uninstall
serve
if it's already installed:npm uninstall -g serve
- Link it to the global module directory:
npm link
- Transpile the source code and watch for changes:
npm run dev
After that, you can use the serve
command everywhere. Here's a list of issues that are great for beginners.
This project used to be called "list". But thanks to TJ Holowaychuk handing us the new name, it's now called "serve" (which is much more definite).
Leo Lamprecht (@notquiteleo) - ▲ZEIT