Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stonecypher/servehere
Serve from the local directory immediately
https://github.com/stonecypher/servehere
Last synced: 2 months ago
JSON representation
Serve from the local directory immediately
- Host: GitHub
- URL: https://github.com/stonecypher/servehere
- Owner: StoneCypher
- License: mit
- Created: 2016-03-11T21:12:27.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-04-03T18:21:21.000Z (9 months ago)
- Last Synced: 2024-04-14T07:52:21.920Z (9 months ago)
- Language: JavaScript
- Size: 139 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.long.md
- License: LICENSE.md
Awesome Lists containing this project
README
# servehere
Host a webserver from the local directory, immediately
## tl;dr
```
npm install -g servehere
servehere
```Now hit [http://localhost:4400](http://localhost:4400).
## Command-line arguments
`--port` / `-p`: Set the port. Defaults to 4400. Ports below 1024 may need account privileges on unix machines.
`--directory` / `-d`: Set the directory to serve from. Defaults to `./`.
`--jsonapi` / `-j`: Pretend to be a JSON api; usually needs -c (send `application/json` for files without extensions; default is `text/html`)
`--cors` / `-c`: Emit universal CORS headers
`--silent` / `-s`: Be silent (no output; default is verbose)
`--haltroute` / `-z`: Hook `/z-terminate` as a route that will halt the server when opened
`--help` / `-h`: Show help in the console
## Usage examples
* Run a server, sharing the current directory on default host `localhost` and default port `4400`
* `servehere`
* Run a server, sharing the current directory on default host `localhost` and custom port `12345`
* `servehere -p 12345`
* Run a server, shipping CORS allow-all headers, set up as a JSON api, shipping the contents of a subdirectory "fixtures"
* `servehere -c -j -d fixtures/`
* Run a server in silent mode (don't write anything in console) with a halt route
* `servehere -s -z`
## ... why?
Pretty often I have to put stuff on my webserver because I want to figure out how its AJAX or websockets work, but CORS and localhost don't play well together.
Also, I'm mildly annoyed at how often I see JavaScript projects install Python to get `simple_server`.
Also, this is a quick way to stub the JSON backend of something when I want to start with the frontend, or for testing.
Polemic :neckbeard:
-------------------`servehere` is MIT licensed, because viral licenses and newspeak language modification are evil. Free is ***only*** free when it's free for everyone.