What is http-server?
The http-server npm package is a simple, zero-configuration command-line HTTP server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning.
What are http-server's main functionalities?
Serving static files
This command serves the current directory at localhost:8080. It can be used to view static websites or any static files.
http-server -p 8080
Customizable port
This command serves the current directory on a specified port, in this case, port 3000.
http-server -p 3000
Specify the directory to serve
This command serves the specified directory instead of the current directory.
http-server /path/to/directory
HTTPS support
This command serves the current directory over HTTPS using the specified certificate and key files.
http-server --ssl --cert path/to/cert.pem --key path/to/key.pem
Enable CORS
This command serves files with CORS enabled, allowing resources to be requested from another domain.
http-server -c-1 --cors
Other packages similar to http-server
serve
Similar to http-server, serve is a static file serving and directory listing package. It is also simple to use but comes with a few more features like clean URLs and single-page application (SPA) support.
lite-server
Lite-server is a lightweight development only node server that serves a web app, opens it in the browser, and refreshes when html or javascript files change. It is built on top of BrowserSync and is more tailored towards serving SPAs.
express
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. Unlike http-server, Express requires more setup but is much more powerful and extensible.
http-server: a command-line http server
http-server
is a simple, zero-configuration command-line http server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning.
Installing globally:
Installation via npm
. If you don't have npm
yet:
curl http://npmjs.org/install.sh | sh
Once you have npm
:
npm install http-server -g
This will install http-server
globally so that it may be run from the command line.
Usage:
http-server [path] [options]
[path]
defaults to ./public
if the folder exists, and ./
otherwise.
Installing as a node app
mkdir myapp
cd myapp/
jitsu install http-server
If you do not have jitsu
installed you can install it via npm install jitsu -g
Usage
Starting http-server locally
node bin/http-server
Now you can visit http://localhost:8080 to view your server
Deploy http-server to nodejitsu
jitsu deploy
You will now be prompted for a subdomain
to deploy your application on
Available Options:
-p
Port to listen for connections on (defaults to 8080)
-a
Address to bind to (defaults to 'localhost')
-i
Display autoIndex (defaults to 'True')
-s
or --silent
In silent mode, log messages aren't logged to the console.
-h
or --help
Displays a list of commands and exits.