From 3820f2ab9c78b43890da10c17ab5f0e65414b2ff Mon Sep 17 00:00:00 2001 From: azu Date: Mon, 16 Jun 2014 08:14:48 +0900 Subject: [PATCH] =?UTF-8?q?write(note):=20inlining-node-require=E3=81=A8re?= =?UTF-8?q?move-use-strict=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Appendix-Note/readme.adoc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Appendix-Note/readme.adoc b/Appendix-Note/readme.adoc index 1ee7f5fc1..29085e577 100644 --- a/Appendix-Note/readme.adoc +++ b/Appendix-Note/readme.adoc @@ -3,6 +3,29 @@ == Asciidoc +=== 表示用JavaScriptの生成 + +書籍のサンプルコードは外部ファイルにしたかった。 +しかし、そのまま読み込む使い方だと、サンプルコードのモジュール化が難しくなってしまった。 +モジュール化が上手くできないとテストを書くことが難しくなる。 +そこで、サンプルコード(`src`)と表示用コード(`embed`)にわけることにした。 + +そのために、サンプルコードから表示用コードを生成するモジュールを書いた + +- https://github.com/azu/inlining-node-require[azu/inlining-node-require] +- https://github.com/azu/remove-use-strict[azu/remove-use-strict] + +__inlining-node-require__ はBrowserify等の既存のモジュールビルドツールではできない +CommonJSのキレイなコードの結合をするためのツール。 + +[NOTE] +ただし、あらゆるパターンに対応することはできないため、 +ある程度の制限を持った書き方が必要になる。 + +サンプルコードは`"use strict"`を使ったコードとなっているが、 +__inlining-node-require__ で結合した際に重複することや表示用コードではスペース的に余計なものとなる。 +__remove-use-strict__ は不必要な`"use strict"`を取り除くことができるツール。 + == Testing === サンプルコードのテスト