Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including 3w with all npm packages installed. Try it out:

var _3w = require("3w")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

3w v0.0.31

Simple express server for static file delivering

#3w

Simple express server for static file delivering. When it comes to setting up a simple Http server to expose a specific dir, we have bunch of options. One of the usual way of doing that which has a tone of restrictions, is using python like:

python -m SimpleHTTPServer 8080

which allows me to expose the current dir as a http server on the specific port number. I created 3w as an alternative with bunch of advanced features. Being able to set up http proxies is one of the useful features which saves a lot of pain when developing a web application. Http proxies are not provided in the current version but they will be soon with a nice and useful way of setting up the configuration.

##Installation 3w is now on npm, to install it all you need is to run this on terminal:

npm install 3w

Now to run a server and expose a directory (let's say its name is src) all you should do is:

node node_modules/3w/3w.js src --3000

To enable https you could also pass --https which usually needs you to have sudo access on the machine:

sudo node node_modules/3w/3w.js src --3000 --https

##API You could also require 3w as a module, and set up the server like:

var www = require('3w'),
  app;

app = www({
  enableHTTPS: true,
  port: 8888,
  dir: 'src'
});

or:

//This will expose the 'app' folder and 'enableHTTPS' will be false
app = www({
  port: 8888
});

or:

//This will expose the 'src' folder on '9000' and 'enableHTTPS' will be false
app = www({
  dir: 'src'
});

or:

//This will expose the 'app' folder on '9000' and 'enableHTTPS' will be false
app = www();

This way you could also tweak the app object to set up features like http-proxy or any desired feature.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free