Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pkoretic/koa-static-server
Static file serving middleware for koa with directory, rewrite and index support
https://github.com/pkoretic/koa-static-server
Last synced: 24 days ago
JSON representation
Static file serving middleware for koa with directory, rewrite and index support
- Host: GitHub
- URL: https://github.com/pkoretic/koa-static-server
- Owner: pkoretic
- License: mit
- Created: 2015-05-21T11:49:37.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2022-07-18T19:33:24.000Z (over 2 years ago)
- Last Synced: 2024-12-16T03:42:51.626Z (28 days ago)
- Language: JavaScript
- Homepage:
- Size: 48.8 KB
- Stars: 61
- Watchers: 3
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-koa - koa-static-server - 具有目录、重写和索引支持的 koa 静态文件服务中间件。 ![](https://img.shields.io/github/stars/pkoretic/koa-static-server.svg?style=social&label=Star) ![](https://img.shields.io/npm/dm/koa-static-server.svg?style=flat-square) (仓库 / 中间件)
README
# koa-static-server
[![GitHub license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/pkoretic/koa-static-server/blob/master/LICENSE)
[![NPM](https://nodei.co/npm/koa-static-server.png?downloads=true&downloadRank=true&stars=true)](https://www.npmjs.com/package/koa-static-server)static file serving middleware for koa with directory, rewrite and index support
## Installation
```bash
$ npm install koa-static-server
```## API
```js
var koa = require('koa')
var app = koa()
app.use(require('koa-static-server')(options))
```### Options
- `rootDir` {string} directory that is to be served
- `rootPath` {string} optional rewrite path, (defaults to `"/"`)
- `notFoundFile` {string} optional default file to serve if requested static is missing
- `log` {boolean} request access log to console
- `last` {boolean} don't execute any downstream middleware. (defaults to `true`)
- `maxage` Browser cache max-age in milliseconds. (defaults to `0`)
- `hidden` Allow transfer of hidden files. (defaults to `false`)
- `index` Name of the index file to serve automatically when visiting root location. (defaults to `"index.html"`, use `""` to disable)
- `gzip` Try to serve the gzipped version of a file automatically when `gzip`
is supported by a client and if the requested file with `.gz` extension exists.
(defaults to `true`)## Example
See [examples](https://github.com/pkoretic/koa-static-server/tree/master/examples) for code examples```js
// example 'web' directory
// web/index.html
// web/file.txtvar serve = require('koa-static-server')
var app = require('koa')()// root index support
// GET /
// returns index.html
// GET /file.txt
// returns file.txt
app.use(serve({rootDir: 'web'}))// folder support
// GET /web/
// returns /web/index.html
// GET /web/file.txt
// returns /web/file.txt
app.use(serve({rootDir: 'web', rootPath: '/web'}))// index support
// GET /
// returns /file.txt
app.use(serve({rootDir: 'web', index: 'file.txt'}))// rewrite support
// GET /web/
// returns 404
// GET /admin
// returns /admin/index.html
app.use(serve({rootDir: 'web', rootPath: '/admin'}))app.listen(3000)
console.log('listening on port 3000')
```## Support
* Issues - [open new issue](https://github.com/pkoretic/koa-static-server/issues)
* mail - [email protected]## License
MIT