Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A lean, modular web server for rapid full-stack development.

License

NotificationsYou must be signed in to change notification settings

lwsjs/local-web-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

view on npmnpm module downloadsGihub repo dependentsGihub package dependentsNode.js CI

Upgraders, please read therelease notes. For feedback, discussion and support seehere.

local-web-server

A lean, modular web server for rapid full-stack development.

  • Supports HTTP, HTTPS and HTTP2.
  • Small and 100% personalisable. Load and use only the behaviour required by your project.
  • Attach a custom view to personalise how activity is visualised.
  • Programmatic and command-line interfaces.

Use this tool to:

  • Build any type of front-end web application (static, dynamic, Single Page App, Progessive Web App, React etc).
  • Prototype a back-end service (REST API, microservice, websocket, Server Sent Events service etc).
  • Monitor activity, analyse performance, experiment with caching strategy etc.

Local-web-server is a distribution oflws bundled with a "starter pack" of useful middleware.

Synopsis

This package installs thews command-line tool (take a look at theusage guide).

Static web site

Runningws without any arguments will host the current directory as a static web site. Navigating to the server will render a directory listing or yourindex.html, if that file exists.

$ wsListening on http://mbp.local:8000, http://127.0.0.1:8000, http://192.168.0.100:8000

Static files tutorial.

This clip demonstrates static hosting plus a couple of log output formats -dev andstats.

Single Page Application

Serving a Single Page Application (an app with client-side routing, e.g. a React or Angular app) is as trivial as specifying the name of your single page:

$ ws --spa index.html

With a static site, requests for typical SPA paths (e.g./user/1,/login) would return404 Not Found as a file at that location does not exist. However, by markingindex.html as the SPA you create this rule:

If a static file is requested (e.g./css/style.css) then serve it, if not (e.g./login) then serve the specified SPA and handle the route client-side.

SPA tutorial.

URL rewriting and proxied requests

Another common use case is to forward certain requests to a remote server.

The following command proxies blog post requests from any path beginning with/posts/ tohttps://jsonplaceholder.typicode.com/posts/. For example, a request for/posts/1 would be proxied tohttps://jsonplaceholder.typicode.com/posts/1.

$ ws --rewrite'/posts/(.*) -> https://jsonplaceholder.typicode.com/posts/$1'

Rewrite tutorial.

This clip demonstrates the above plus use of--static.extensions to specify a default file extension and--verbose to monitor activity.

HTTPS and HTTP2

For HTTPS or HTTP2, pass the--https or--http2 flags respectively.See the wiki for further configuration options and a guide on how to get the "green padlock" in your browser.

$ ws --http2Listening at https://mba4.local:8000, https://127.0.0.1:8000, https://192.168.0.200:8000

Built-in middleware stack

If you donot supply a custom middleware stack via the--stack option the following default stack will be used. It's designed to cover most typical web development scenarios.

NameDescription
Basic AuthPassword-protect a server using Basic Authentication
Body ParserParses the request body, makingctx.request.body available to downstream middleware.
Request MonitorFeeds traffic information to the--verbose output.
LogOutputs an access log or stats view to the console.
CorsSupport for setting Cross-Origin Resource Sharing (CORS) headers
JsonPretty-prints JSON responses.
RewriteURL Rewriting. Use to re-route requests to local or remote destinations.
BlacklistForbid access to sensitive or private resources
Conditional GetSupport for HTTP Conditional requests.
MimeCustomise the mime-type returned with any static resource.
CompressCompress responses using gzip.
SPASupport for Single Page Applications.
StaticServes static files.
IndexServes directory listings.

Further Documentation

See the wiki for plenty more documentation and tutorials.

Install

$ npm install -g local-web-server

© 2013-25 Lloyd Brookes <opensource@75lb.com>. Documented byjsdoc-to-markdown.

About

A lean, modular web server for rapid full-stack development.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors4

  •  
  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp