You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Lloyd Brookes f6819993cf readme 11 years ago
bin fixed refresh-rate issue, readme updated 11 years ago
lib fixed refresh-rate issue, readme updated 11 years ago
test enable CORS, fixes #11 11 years ago
.gitignore initial 12 years ago
.jshintrc fixed when using --directory with '.' or '..' 11 years ago
README.md readme 11 years ago
package.json 0.5.10 11 years ago

README.md

view on npm npm module downloads per month Dependency Status Analytics

local-web-server

Fires up a simple, CORS-enabled, static web server on a given port. Use for local web development or file sharing (directory browsing enabled).

local-web-server

Install

Ensure node.js is installed first. Linux/Mac users may need to run the following commands with sudo.

##Globally

$ npm install -g local-web-server

##Deployed with your project

$ npm install local-web-server --save-dev

Then add an start script to your package.json (the standard npm approach):

{
  "name": "my-web-app",
  "version": "1.0.0",
  "scripts": {
    "start": "ws"
  }

This simplifies a rather specific looking instruction set like:

$ npm install
$ npm install -g local-web-server
$ ws

to the following, server implementation and launch details abstracted away:

$ npm install
$ npm start

Usage

Usage
$ ws <server options>
$ ws --config
$ ws --help

Server
-p, --port <number>          Web server port
-f, --log-format <string>    If a format is supplied an access log is written to stdout. If not,
                             a statistics view is displayed. Use a preset ('none', 'dev',
                             'default', 'short', 'tiny' or 'logstalgia') or supply a custom format
                             (e.g. ':method -> :url').
-d, --directory <string>     Root directory, defaults to the current directory
-c, --compress               Enables compression
-r, --refresh-rate <number>  Statistics view refresh rate in ms. Defaults to 500.

Misc
-h, --help                   Print these usage instructions
--config                     Print the stored config

From the folder you wish to serve, run:

$ ws
serving at http://localhost:8000

If you wish to serve a different directory, run:

$ ws -d ~/mysite/
serving /Users/Lloyd/mysite at http://localhost:8000

If you wish to override the default port (8000), use --port or -p:

$ ws --port 9000
serving at http://localhost:9000

To add compression, reducing bandwidth, increasing page load time (by 10-15% on my Macbook Air)

$ ws --compress

###Logging Passing a value to --log-format will write an access log to stdout.

Either use a built-in morgan logger preset:

$ ws --log-format short

Or a custom morgan log format:

$ ws -f ':method -> :url'

Or silence:

$ ws -f none

Storing default options

To store per-project options, saving you the hassle of inputting them everytime, store them in the local-web-server property of your project's package.json:

{
  "name": "my-project",
  "version": "0.11.8",
  "local-web-server":{
    "port": 8100
  }
}

Or in a .local-web-server.json file stored in the directory you want to serve (typically the root folder of your site):

{
  "port": 8100,
  "log-format": "tiny"
}

Or store global defaults in a .local-web-server.json file in your home directory.

{
  "port": 3000,
  "refresh-rate": 1000
}

All stored defaults are overriden by options supplied at the command line.

To view your stored defaults, run:

$ ws --config

##Deploy the web server with your project It's quite common to see a set of installation instructions like this:

$ npm install
$ npm install -g

##Use with Logstalgia local-web-server is compatible with logstalgia.

###Install Logstalgia On MacOSX, install with homebrew:

$ brew install logstalgia

Alternatively, download a release for your system from github.

Then pipe the logstalgia output format directly into logstalgia for real-time visualisation:

$ ws -f logstalgia | logstalgia -

local-web-server with logstalgia

Use with glTail

To use with glTail, write your log to disk using the "default" format:

$ ws -f default > web.log

Then specify this file in your glTail config:

servers:
    dev:
        host: localhost
        source: local
        files: /Users/Lloyd/Documents/MySite/web.log
        parser: apache
        color: 0.2, 0.2, 1.0, 1.0