docs
This commit is contained in:
		
							
								
								
									
										102
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								README.md
									
									
									
									
									
								
							@ -8,28 +8,40 @@
 | 
				
			|||||||
***Requires node v4.0.0 or higher. Install the [previous release](https://github.com/75lb/local-web-server/tree/prev) for older node support.***
 | 
					***Requires node v4.0.0 or higher. Install the [previous release](https://github.com/75lb/local-web-server/tree/prev) for older node support.***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# local-web-server
 | 
					# local-web-server
 | 
				
			||||||
A simple, extensible web-server for productive front-end development. Typical use cases:
 | 
					An application shell for building a simple, command-line web server for productive web development.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Front-end Development
 | 
					It is trivial is bundle and deploy with your project. Also deploys to heroku well for demo projects.
 | 
				
			||||||
  * Static or Single Page App development
 | 
					
 | 
				
			||||||
  * Re-route paths to local or remote resources
 | 
					It comes with some middleware built-in, which you need not use but will get you up and running for the following use cases:
 | 
				
			||||||
  * Efficient, predictable, entity-tag-powered conditional request handling (no need to 'Disable Cache' in DevTools, slowing page-load down)
 | 
					
 | 
				
			||||||
 | 
					* Static or Single Page Application front-end development where you have
 | 
				
			||||||
 | 
					  * No backend, an existing remote API or need to mock-up an API.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Application Shell
 | 
				
			||||||
 | 
					  * HTTP or HTTPS server
 | 
				
			||||||
 | 
					    * HTTPS is strictly required by some modern techs (ServiceWorker, Media Capture and Streams etc.)
 | 
				
			||||||
 | 
					  * Add your middleware
 | 
				
			||||||
 | 
					    * Use any combination of built-in and custom middleware
 | 
				
			||||||
 | 
					    * specify options (for command line or config)
 | 
				
			||||||
 | 
					    * Accepts Koa v1 or 2 middleware
 | 
				
			||||||
  * Bundle with your front-end project
 | 
					  * Bundle with your front-end project
 | 
				
			||||||
  * Very little configuration, just a few options
 | 
					  * Configuration is via json file or command-line (latter taking presedence)
 | 
				
			||||||
  * Outputs a dynamic statistics view to the terminal
 | 
					  * Outputs a dynamic statistics view to the terminal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Built-in Middleware (all optional)
 | 
				
			||||||
 | 
					  * Rewrite routes to local or remote resources
 | 
				
			||||||
 | 
					  * Efficient, predictable, entity-tag-powered conditional request handling (no need to 'Disable Cache' in DevTools, slowing page-load down)
 | 
				
			||||||
  * Configurable log output, compatible with [Goaccess, Logstalgia and glTail](https://github.com/75lb/local-web-server/blob/master/doc/visualisation.md)
 | 
					  * Configurable log output, compatible with [Goaccess, Logstalgia and glTail](https://github.com/75lb/local-web-server/blob/master/doc/visualisation.md)
 | 
				
			||||||
* Back-end service mocking
 | 
					  * Proxy server
 | 
				
			||||||
  * Prototype a web service, microservice, REST API etc.
 | 
					    * Map local routes to remote servers. Removes CORS pain when consuming remote services.
 | 
				
			||||||
  * Mocks are defined with config (static), or code (dynamic).
 | 
					  * Back-end service mocking
 | 
				
			||||||
 | 
					    * Prototype a web service, microservice, REST API etc.
 | 
				
			||||||
 | 
					    * Mocks are defined with config (static), or code (dynamic).
 | 
				
			||||||
  * CORS-friendly, all origins allowed by default.
 | 
					  * CORS-friendly, all origins allowed by default.
 | 
				
			||||||
* Proxy server
 | 
					 | 
				
			||||||
  * Map local routes to remote servers. Removes CORS pain when consuming remote services.
 | 
					 | 
				
			||||||
* HTTPS server
 | 
					 | 
				
			||||||
  * HTTPS is strictly required by some modern techs (ServiceWorker, Media Capture and Streams etc.)
 | 
					 | 
				
			||||||
* File sharing
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Synopsis
 | 
					## Synopsis
 | 
				
			||||||
local-web-server is a simple command-line tool. To use it, from your project directory run `ws`.
 | 
					local-web-server is a command-line tool. To serve the current directory, run `ws`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<pre><code>$ ws --help
 | 
					<pre><code>$ ws --help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -84,7 +96,7 @@ For the examples below, we assume we're in a project directory looking like this
 | 
				
			|||||||
└── package.json
 | 
					└── package.json
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**All paths/routes are specified using [express syntax](http://expressjs.com/guide/routing.html#route-paths)**. To run the example projects linked below, clone the project, move into the example directory specified, run `ws`.
 | 
					All paths/routes are specified using [express syntax](http://expressjs.com/guide/routing.html#route-paths). To run the example projects linked below, clone the project, move into the example directory specified, run `ws`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Static site
 | 
					### Static site
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -585,63 +597,7 @@ serving at http://localhost:8100
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## API Reference
 | 
					## API Reference
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ERROR, Cannot find module.
 | 
				
			||||||
* [local-web-server](#module_local-web-server)
 | 
					 | 
				
			||||||
    * [localWebServer([options])](#exp_module_local-web-server--localWebServer) ⇒ <code>[KoaApplication](https://github.com/koajs/koa/blob/master/docs/api/index.md#application)</code> ⏏
 | 
					 | 
				
			||||||
        * [~rewriteRule](#module_local-web-server--localWebServer..rewriteRule)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<a name="exp_module_local-web-server--localWebServer"></a>
 | 
					 | 
				
			||||||
### localWebServer([options]) ⇒ <code>[KoaApplication](https://github.com/koajs/koa/blob/master/docs/api/index.md#application)</code> ⏏
 | 
					 | 
				
			||||||
Returns a Koa application you can launch or mix into an existing app.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Kind**: Exported function  
 | 
					 | 
				
			||||||
**Params**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
- [options] <code>object</code> - options
 | 
					 | 
				
			||||||
    - [.static] <code>object</code> - koa-static config
 | 
					 | 
				
			||||||
        - [.root] <code>string</code> <code> = "."</code> - root directory
 | 
					 | 
				
			||||||
        - [.options] <code>string</code> - [options](https://github.com/koajs/static#options)
 | 
					 | 
				
			||||||
    - [.serveIndex] <code>object</code> - koa-serve-index config
 | 
					 | 
				
			||||||
        - [.path] <code>string</code> <code> = "."</code> - root directory
 | 
					 | 
				
			||||||
        - [.options] <code>string</code> - [options](https://github.com/expressjs/serve-index#options)
 | 
					 | 
				
			||||||
    - [.forbid] <code>Array.<string></code> - A list of forbidden routes, each route being an [express route-path](http://expressjs.com/guide/routing.html#route-paths).
 | 
					 | 
				
			||||||
    - [.spa] <code>string</code> - specify an SPA file to catch requests for everything but static assets.
 | 
					 | 
				
			||||||
    - [.log] <code>object</code> - [morgan](https://github.com/expressjs/morgan) config
 | 
					 | 
				
			||||||
        - [.format] <code>string</code> - [log format](https://github.com/expressjs/morgan#predefined-formats)
 | 
					 | 
				
			||||||
        - [.options] <code>object</code> - [options](https://github.com/expressjs/morgan#options)
 | 
					 | 
				
			||||||
    - [.compress] <code>boolean</code> - Serve gzip-compressed resources, where applicable
 | 
					 | 
				
			||||||
    - [.mime] <code>object</code> - A list of mime-type overrides, passed directly to [mime.define()](https://github.com/broofa/node-mime#mimedefine)
 | 
					 | 
				
			||||||
    - [.rewrite] <code>[Array.<rewriteRule>](#module_local-web-server--localWebServer..rewriteRule)</code> - One or more rewrite rules
 | 
					 | 
				
			||||||
    - [.verbose] <code>boolean</code> - Print detailed output, useful for debugging
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Example**  
 | 
					 | 
				
			||||||
```js
 | 
					 | 
				
			||||||
const localWebServer = require('local-web-server')
 | 
					 | 
				
			||||||
localWebServer().listen(8000)
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
<a name="module_local-web-server--localWebServer..rewriteRule"></a>
 | 
					 | 
				
			||||||
#### localWebServer~rewriteRule
 | 
					 | 
				
			||||||
The `from` and `to` routes are specified using [express route-paths](http://expressjs.com/guide/routing.html#route-paths)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Kind**: inner typedef of <code>[localWebServer](#exp_module_local-web-server--localWebServer)</code>  
 | 
					 | 
				
			||||||
**Properties**
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| Name | Type | Description |
 | 
					 | 
				
			||||||
| --- | --- | --- |
 | 
					 | 
				
			||||||
| from | <code>string</code> | request route |
 | 
					 | 
				
			||||||
| to | <code>string</code> | target route |
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
**Example**  
 | 
					 | 
				
			||||||
```json
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  "rewrite": [
 | 
					 | 
				
			||||||
    { "from": "/css/*", "to": "/build/styles/$1" },
 | 
					 | 
				
			||||||
    { "from": "/npm/*", "to": "http://registry.npmjs.org/$1" },
 | 
					 | 
				
			||||||
    { "from": "/:user/repos/:name", "to": "https://api.github.com/repos/:user/:name" }
 | 
					 | 
				
			||||||
  ]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
```
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* * *
 | 
					* * *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
© 2013-16 Lloyd Brookes <75pound@gmail.com>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown).
 | 
					© 2013-16 Lloyd Brookes <75pound@gmail.com>. Documented by [jsdoc-to-markdown](https://github.com/jsdoc2md/jsdoc-to-markdown).
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								example/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								example/README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# Examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Some examples of how to use the built-in middleware and configure custom servers.
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB  | 
@ -8,28 +8,40 @@
 | 
				
			|||||||
***Requires node v4.0.0 or higher. Install the [previous release](https://github.com/75lb/local-web-server/tree/prev) for older node support.***
 | 
					***Requires node v4.0.0 or higher. Install the [previous release](https://github.com/75lb/local-web-server/tree/prev) for older node support.***
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# local-web-server
 | 
					# local-web-server
 | 
				
			||||||
A simple web-server for productive front-end development. Typical use cases:
 | 
					An application shell for building a simple, command-line web server for productive web development.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Front-end Development
 | 
					It is trivial is bundle and deploy with your project. Also deploys to heroku well for demo projects.
 | 
				
			||||||
  * Static or Single Page App development
 | 
					
 | 
				
			||||||
  * Re-route paths to local or remote resources
 | 
					It comes with some middleware built-in, which you need not use but will get you up and running for the following use cases:
 | 
				
			||||||
  * Efficient, predictable, entity-tag-powered conditional request handling (no need to 'Disable Cache' in DevTools, slowing page-load down)
 | 
					
 | 
				
			||||||
 | 
					* Static or Single Page Application front-end development where you have
 | 
				
			||||||
 | 
					  * No backend, an existing remote API or need to mock-up an API.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Application Shell
 | 
				
			||||||
 | 
					  * HTTP or HTTPS server
 | 
				
			||||||
 | 
					    * HTTPS is strictly required by some modern techs (ServiceWorker, Media Capture and Streams etc.)
 | 
				
			||||||
 | 
					  * Add your middleware
 | 
				
			||||||
 | 
					    * Use any combination of built-in and custom middleware
 | 
				
			||||||
 | 
					    * specify options (for command line or config)
 | 
				
			||||||
 | 
					    * Accepts Koa v1 or 2 middleware
 | 
				
			||||||
  * Bundle with your front-end project
 | 
					  * Bundle with your front-end project
 | 
				
			||||||
  * Very little configuration, just a few options
 | 
					  * Configuration is via json file or command-line (latter taking presedence)
 | 
				
			||||||
  * Outputs a dynamic statistics view to the terminal
 | 
					  * Outputs a dynamic statistics view to the terminal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Built-in Middleware (all optional)
 | 
				
			||||||
 | 
					  * Rewrite routes to local or remote resources
 | 
				
			||||||
 | 
					  * Efficient, predictable, entity-tag-powered conditional request handling (no need to 'Disable Cache' in DevTools, slowing page-load down)
 | 
				
			||||||
  * Configurable log output, compatible with [Goaccess, Logstalgia and glTail](https://github.com/75lb/local-web-server/blob/master/doc/visualisation.md)
 | 
					  * Configurable log output, compatible with [Goaccess, Logstalgia and glTail](https://github.com/75lb/local-web-server/blob/master/doc/visualisation.md)
 | 
				
			||||||
* Back-end service mocking
 | 
					  * Proxy server
 | 
				
			||||||
  * Prototype a web service, microservice, REST API etc.
 | 
					    * Map local routes to remote servers. Removes CORS pain when consuming remote services.
 | 
				
			||||||
  * Mocks are defined with config (static), or code (dynamic).
 | 
					  * Back-end service mocking
 | 
				
			||||||
 | 
					    * Prototype a web service, microservice, REST API etc.
 | 
				
			||||||
 | 
					    * Mocks are defined with config (static), or code (dynamic).
 | 
				
			||||||
  * CORS-friendly, all origins allowed by default.
 | 
					  * CORS-friendly, all origins allowed by default.
 | 
				
			||||||
* Proxy server
 | 
					 | 
				
			||||||
  * Map local routes to remote servers. Removes CORS pain when consuming remote services.
 | 
					 | 
				
			||||||
* HTTPS server
 | 
					 | 
				
			||||||
  * HTTPS is strictly required by some modern techs (ServiceWorker, Media Capture and Streams etc.)
 | 
					 | 
				
			||||||
* File sharing
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Synopsis
 | 
					## Synopsis
 | 
				
			||||||
local-web-server is a simple command-line tool. To use it, from your project directory run `ws`.
 | 
					local-web-server is a command-line tool. To serve the current directory, run `ws`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<pre><code>$ ws --help
 | 
					<pre><code>$ ws --help
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user