4.1.2 • Published 2 years ago

lws v4.1.2

Weekly downloads
54,168
License
MIT
Repository
github
Last release
2 years ago

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI Coverage Status js-standard-style

lws

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

Lws is an application core for quickly launching a local web server. Behaviour is added via plugins giving you full control over how requests are processed and responses created.

  • 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 APIs.

Synopsis

Core usage

Launch an HTTP server on the default port of 8000.

$ lws
Listening at http://mba4.local:8000, http://127.0.0.1:8000, http://192.168.0.200:8000

For HTTPS or HTTP2, pass the --https or --http2 flags respectively.

$ lws --http2
Listening at https://mba4.local:8000, https://127.0.0.1:8000, https://192.168.0.200:8000

Now your server is running, the next step is to attach some middleware to process requests.

Using middleware plugins

Install and use some middleware (lws-static and lws-index) to serve static files and directory listings.

$ npm install --save-dev lws-static lws-index

$ lws --stack lws-static lws-index
Listening at http://mba4.local:8000, http://127.0.0.1:8000, http://192.168.0.200:8000

The current directory will now be available to explore at http://127.0.0.1:8000.

Install and use logging middleware. Note the lws- prefix is optional when supplying module names to --stack.

$ npm install --save-dev lws-log

$ lws --stack log static index --log.format combined
Listening at http://mba4.local:8000, http://127.0.0.1:8000, http://192.168.0.200:8000
::ffff:127.0.0.1 - GET /lws.config.js HTTP/1.1 200 52 - 8.259 ms
::ffff:127.0.0.1 - GET /package.json HTTP/1.1 200 399 - 1.478 ms

Creating a custom middleware plugin

Lws uses Koa as its middleware engine. Here is a trivial plugin example, save the following code as example-middleware.js:

class ExamplePlugin {
  middleware () {
    return async (ctx, next) => {
      ctx.body = 'Hello from lws!'
      await next()
    }
  }
}

export default ExamplePlugin

Now launch an HTTP server using this middleware.

$ lws --stack example-middleware.js
Listening at http://mba4.local:8000, http://127.0.0.1:8000, http://192.168.0.200:8000

$ curl http://127.0.0.1:8000
Hello from lws!

Install

$ npm install --save-dev lws

Documentation

See also


© 2016-22 Lloyd Brookes \75pound@gmail.com\.

Tested by test-runner. Documented by jsdoc-to-markdown.

4.1.2

2 years ago

4.1.1

2 years ago

4.1.0

3 years ago

4.0.2

3 years ago

4.0.1

3 years ago

4.0.0

3 years ago

4.0.0-0

3 years ago

4.0.0-1

3 years ago

4.0.0-2

3 years ago

3.1.0

4 years ago

3.0.0

4 years ago

2.0.8

4 years ago

2.0.7

4 years ago

2.0.6

4 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

2.0.0-11

5 years ago

2.0.0-10

5 years ago

2.0.0-9

5 years ago

2.0.0-8

5 years ago

2.0.0-7

5 years ago

2.0.0-6

5 years ago

2.0.0-5

5 years ago

2.0.0-4

5 years ago

2.0.0-3

5 years ago

1.3.2

5 years ago

1.3.1

5 years ago

1.3.0

6 years ago

1.2.8

6 years ago

1.2.7

6 years ago

1.2.6

6 years ago

1.2.5

6 years ago

1.2.4

6 years ago

1.2.3

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago

1.0.0-pre4.0

7 years ago

1.0.0-pre3.1

7 years ago

1.0.0-pre3.0

7 years ago

1.0.0-pre2.7

7 years ago

1.0.0-pre2.6

7 years ago

1.0.0-pre2.5

7 years ago

1.0.0-pre2.4

7 years ago

1.0.0-pre2.3

7 years ago

1.0.0-pre2.2

7 years ago

1.0.0-pre2.1

7 years ago

1.0.0-pre2.0

7 years ago

1.0.0-pre.8

7 years ago

1.0.0-pre.7

7 years ago

1.0.0-pre.6

7 years ago

1.0.0-pre.5

7 years ago

1.0.0-pre.4

7 years ago

1.0.0-pre.3

7 years ago

1.0.0-pre.2

7 years ago

1.0.0-pre.0

7 years ago

0.8.2

7 years ago

0.8.1

7 years ago

2.0.0-1

7 years ago

0.8.0

7 years ago

2.0.0-0

8 years ago

0.0.1-security

8 years ago

0.7.1

8 years ago

0.7.0

8 years ago

0.6.3

8 years ago

0.6.2

8 years ago

0.6.1

8 years ago

0.6.0

8 years ago

0.5.2

8 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.0

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago

0.0.19

8 years ago

0.0.18

8 years ago

0.0.17

8 years ago

0.0.16

8 years ago

0.0.15

8 years ago

0.0.14

8 years ago

0.0.13

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago