Simple, zero dependency command-line HTTP server for static local files
This module needs Node >=14
.
Install with npm:
$ npm install httpdir --global
httpdir <path> <port>
Example:
# This will start a local server on port `8090`,
# with `~/Desktop` as root directory
httpdir ~/Desktop 8090
Default path is .
, default port is 8080
.
Import httpdir
and create a server:
const httpdir = require('httpdir')
const server = httpdir.createServer({
basePath: '/some/path', // Optional, default is "."
httpPort: 9898, // Optional, default is 8080
})
Main events can be listened to:
server.onStart((settings) => {
console.log('Server started')
console.log('Base path is:', settings.basePath)
console.log('Port is:', settings.httpPort)
console.log('Available URLs:', settings.urls.join(', '))
})
server.onStop(() => {
console.log('Server stopped')
})
server.onResponse((response) => {
console.log('Requested path was:', response.requestedPath)
console.log('Requested method was:', response.requestedMethod)
console.log('Response code is:', response.httpCode)
})
server.onError((error) => {
console.log('Server error', error)
})
After event listeners have been attached if needed, start the server:
server.start()
And stop:
server.stop()
This project uses semver.
Version | Date | Notes |
---|---|---|
2.1.0 |
2023-1-07 | Support Range request header |
2.0.1 |
2023-02-12 | Fix onResponse event for favicons |
2.0.0 |
2023-02-04 | Expose node module Drop Node 12 support |
1.4.0 |
2023-01-29 | Improve startup info |
1.3.0 |
2023-01-28 | Support more mime types |
1.2.0 |
2022-01-10 | Update UI (#1) |
1.1.0 |
2021-09-25 | Stop relying on deprecated url.parse() |
1.0.1 |
2021-07-04 | Fix execution issue on Unix |
1.0.0 |
2021-07-04 | Initial version |
This project is released under the MIT License.