Skip to content

Commit 07bf7ae

Browse files
committed
feat(connect): エコシステムと類似プロジェクト
1 parent fda1c21 commit 07bf7ae

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

ja/connect/README.md

+28-2
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,32 @@ app.use("/foo", function fooMiddleware(req, res, next) {
159159
これにより、`use(middleware)` で登録する順番が変わるだけで挙動が変わる事があります。
160160
_middleware_は柔軟ですが、_middleware_間で起きる前提の解決を利用者が行う必要があります。
161161

162-
そのため、プラグイン同士の独立性や明確な依存関係を扱いたい場合には不向きといえるでしょう
162+
そのため、プラグイン同士の強い独立性や明確な依存関係を扱いたい場合には不向きといえるでしょう
163163

164-
これらを解消するためにコアはそのままにして、最初から幾つかの_middleware stack_を作ったものが提供されるケースもあります。
164+
これらを解消するためにコアはそのままにして、最初から幾つかの_middleware stack_を作ったものが提供されるケースもあります。
165+
166+
## エコシステム
167+
168+
Connect自体の機能は少ないため、その分_middleware_が多くあるのが特徴的です。
169+
170+
- [github.com/senchalabs/connect#middleware](https://github.com/senchalabs/connect#middleware)
171+
- [Express middleware](http://expressjs.com/resources/middleware.html "Express middleware")
172+
173+
また、それぞれの_middleware_が小さな単機能であり、それを組み合わせて使うように作られているケースが多いです。
174+
175+
これは、_middleware_が層となっていてそれを重ねていく作り、つまり_middleware stack_の形を取ることが多いからであるとも言えます。
176+
177+
![pylons_as_onion](img/pylons_as_onion.png)
178+
179+
> ミドルウェアでラップするプロセスは、概念的にたまねぎの中の層と同様の構造をもたらします。
180+
> [WSGI ミドルウェア](http://docs.pylonsproject.org/projects/pylons-webframework/en/v1.0.1rc1/concepts.html#wsgi-middleware "WSGI ミドルウェア")より引用
181+
182+
183+
## この仕組みを使ってるもの
184+
185+
- [Express](http://expressjs.com/ "Express")
186+
- Connectと_middleware_の互換性がある
187+
- 元々はConnectを利用していたが[4.0.0](https://github.com/strongloop/express/blob/4.0.0/History.md "4.0.0")で自前の実装に変更
188+
- [wooorm/retext](https://github.com/wooorm/retext "wooorm/retext")
189+
- `use`でプラグインを登録していくテキスト処理ライブラリ
190+

ja/connect/img/pylons_as_onion.png

21.9 KB
Loading

0 commit comments

Comments
 (0)