miniproxy
Run a proxy that routes your different projects using their package.json files.
Uses http-proxy as proxy engine.
How does it work?
miniproxy
explores your apps directory (configurable) and opens each package.json file. If it finds a routes
attribute, it will use it to configure the proxy. Once all the routing info has been gathered, the proxy starts to run.
A basic setup would be:
.
|_ proxy.js
|_ nodes_modules/
| |_ miniproxy
|_ apps/
|_ app1/
|_ package.json
|_ ...
|_ app2/
|_ package.json
|_ ...
|_ ...
Example of package.json containing a routes
attributes:
{
"name": "app1",
"version": "0.1.0",
"routes": {
"app1.dev": "9001",
"www.app1.dev": "9001"
},
"scripts": {
"start": "app1.js"
}
}
After reading this package.json file, miniproxy
will route app1.dev
and www.app1.dev
hosts to localhost:9001
.
How to use it
Install module:
npm install miniproxy
Use it (proxy.js file example):
require('miniproxy').use(__dirname+'/apps').listen(80);
If you want to run your proxy continuously, you can use forever:
forever start proxy.js
Note that your apps are not started by miniproxy
. You have to take care of it (launch them with forever may also be a good idea).