2016-04-21 21:27:22 +00:00
|
|
|
# angel_static
|
2016-11-23 09:37:28 +00:00
|
|
|
|
2016-11-23 17:22:23 +00:00
|
|
|
![version 1.1.0-dev](https://img.shields.io/badge/version-1.1.0--dev-red.svg)
|
2016-11-23 09:37:28 +00:00
|
|
|
![build status](https://travis-ci.org/angel-dart/static.svg?branch=master)
|
|
|
|
|
2016-04-21 21:27:22 +00:00
|
|
|
Static server middleware for Angel.
|
|
|
|
|
|
|
|
# Installation
|
|
|
|
In `pubspec.yaml`:
|
|
|
|
|
2016-07-01 20:33:42 +00:00
|
|
|
```yaml
|
|
|
|
dependencies:
|
|
|
|
angel_framework: ^1.0.0-dev
|
2016-11-23 17:22:23 +00:00
|
|
|
angel_static: ^1.1.0-dev
|
2016-07-01 20:33:42 +00:00
|
|
|
```
|
2016-04-21 21:27:22 +00:00
|
|
|
|
|
|
|
# Usage
|
2016-11-23 17:22:23 +00:00
|
|
|
To serve files from a directory, your app needs to have a
|
|
|
|
`VirtualDirectory` mounted on it.
|
2016-04-21 21:27:22 +00:00
|
|
|
|
|
|
|
```dart
|
|
|
|
import 'dart:io';
|
|
|
|
import 'package:angel_framework/angel_framework.dart';
|
|
|
|
import 'package:angel_static/angel_static.dart';
|
|
|
|
|
|
|
|
main() async {
|
2016-11-23 17:22:23 +00:00
|
|
|
final app = new Angel();
|
|
|
|
|
|
|
|
app.mount('/virtual', new VirtualDirectory(
|
2016-11-23 17:23:17 +00:00
|
|
|
source: new Directory('./foo/bar'),
|
2016-11-23 17:22:23 +00:00
|
|
|
publicPath: '/virtual'));
|
2016-11-23 17:23:17 +00:00
|
|
|
|
2016-11-23 17:22:23 +00:00
|
|
|
app.mount('/', new VirtualDirectory(source: new Directory('./public')));
|
|
|
|
|
|
|
|
await app.startServer();
|
2016-04-21 21:27:22 +00:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2016-05-02 23:11:25 +00:00
|
|
|
# Options
|
2016-11-23 17:22:23 +00:00
|
|
|
The `VirtualDirectory` API accepts a few named parameters:
|
|
|
|
- **source**: A `Directory` containing the files to be served. If left null, then Angel will serve either from `web` (in development) or
|
2016-06-24 22:23:32 +00:00
|
|
|
`build/web` (in production), depending on your `ANGEL_ENV`.
|
2016-11-23 17:24:04 +00:00
|
|
|
- **indexFileNames**: A `List<String>` of filenames that should be served as index pages. Default is `['index.html']`.
|
2016-11-23 17:22:23 +00:00
|
|
|
- **publicPath**: To serve index files, you need to specify the virtual path under which
|
2016-05-02 23:11:25 +00:00
|
|
|
angel_static is serving your files. If you are not serving static files at the site root,
|
|
|
|
please include this.
|
2016-11-23 17:22:23 +00:00
|
|
|
- **debug**: Print verbose debug output.
|