笑いながらコードを書く。

vimから出たくないフロントエンドエンジニアの備忘録的な何か。

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ファイルを直接読み込んでるわけではないので)

 

しばらくいじってみる。