Observed since 20 Oct, 19:54 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
3w
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();
Using 3w you could also tweak the app object to set up your http-proxies like:
var www = require('3w'),
app;
function proxy(app){
//...
}
app = www({
enableHTTPS: true,
port: 8888,
dir: 'src',
proxy: proxy
});
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
body-parserEnvironment{
"local_name": "body-parser",
"alias": false,
"peer_metadata": null
} | ^1.10.0 | runtime |
cookie-parserEnvironment{
"local_name": "cookie-parser",
"alias": false,
"peer_metadata": null
} | ^1.3.3 | runtime |
expressEnvironment{
"local_name": "express",
"alias": false,
"peer_metadata": null
} | ^4.10.6 | runtime |
morganEnvironment{
"local_name": "morgan",
"alias": false,
"peer_metadata": null
} | ^1.5.0 | runtime |
Source distribution
{
"shasum": "a1662096f79c08a5ccd461f956f3442fc7a14015",
"tarball": "https://registry.npmjs.org/3w/-/3w-0.0.1.tgz",
"integrity": "sha512-VdvNvufBZKTBg7rQ19DJI/j4C1XuD4xS4Amh4AOa5UeK/n1iGIpFTfqnna9fUhnzNP0/BZxwJ8dkADumYdnxfw==",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEQCIEJq4619y7QAtHOp1cMPCL95aCwFaMIP+t7WrqpKEUv9AiB/cyDhJxzHpRmRqT2diERGqJe7VorChgAPBN5Vr7XioA=="
}
]
}Observed since 20 Oct, 19:54 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:14ea0179213c1a09df5fee459aee45ff419fc8cda887ef77aaf77dd115c85f72