LoginSignup
0

More than 5 years have passed since last update.

EspruinoでJSを分割して書くときはSprocketsが良いのではないか

Last updated at Posted at 2014-12-09

Espruinoでも多少凝ったものを書こうとするとプログラムが結構な長さになってきますね。そうなるとだんだんJSを分割して書きたくなってくる訳です。「Espruinoで動く」を前提条件にすると、sprocketsなんか良いのではないのかと思いましたので紹介します(今更)

mobule/requireでの分割は何かと面倒

Espruinoではnode.jsのように各機能をモジュールとして記述して、requireで利用することができます。ただしこの方法には制約があり、USB起動の場合はインターネットでアクセスできる場所に、スタンドアロンで利用している場合はSDカードに、各種モジュールファイルを配置しておかなければなりません。汎用で使えるライブラリを記述するのであれば多少目はつむれるかもしれませんが、アプリ固有のビジネスロジック的なものを分割記述するのに、これはなかなか面倒です。

そこで sprockets

と、いうことで分割したJSファイルをビルドして一つにまとめるというアプローチが欲しくなってくる訳ですが、ご存知の通りJSが走るのはEspruinoの上なので、生成されるファイルは可能な限りプレーンなjavascriptであることが望ましいです。

そこで sprocketsです。

//= require "./hoge.js"
var hoge = new Hoge();

JSファイルの上部のようなコメントを記述すると、sprocketsでビルドしたときに、hoge.jsの内容をそっくりそのままもってきてくれます。それでいて、2度以上同じファイルに対する読み込みが記述してあっても一度しか読み込まないのでその辺りも気にせずにすみます。

Example

Githubにサンプルプロジェクトとして上げてみました。READMEを見れば使えるかと思います。build.shには簡単なビルドコマンドが記述してあります。

srcフォルダ直下を常に監視して、変更があったら自動でビルドするようにするステップについては今後書こうかと思っています。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0