js同期読み込みライブラリを作ってみた。
■Read.js
https://github.com/AtsushiM/Read.js
https://github.com/AtsushiM/unite-read-js
javascriptの同期読み込みライブラリを作ってみた。
仕組みとしては
1.XMLHttpRequestで同期読み込み(xhr.openじに第三引数にfalseを渡す)
2.読み込み完了後scriptタグを生成してxhr.responseTextを突っ込む
3.jsが同期的に実行される
となってる。
unite-read-jsに追加してあるタスク、'unite-read-html'を使用すればhtmlに対してscriptタグを埋め込むので多少デバッグしやすくなるかも。
開発するときにそもそも最終的にjs結合するのわかってるし
RequireJS使うほど大きいプロジェクトでもねぇし
他の言語のincludeとかrequireとかみたいに気軽に使える奴が欲しいなー
という自分と友人の要望で開発してみた。
使い方の注意点としては
・read('hogehoge', 'path/to/file')の上には処理がないほうが好ましい。gruntタスクを使用して結合した場合、実行順序が変わってしまうのでバグの原因になる
・gruntタスク使わないとデバッグしにくい。(jsファイルを直接読み込んでるわけではないので)
しばらくいじってみる。