Browserify
http://browserify.org/ http://gyazo.com/291b0ec8ab3fcc9d720542b5e355b7bc.png
ブラウザjsでもnpmやnodeライブラリをrequire("path")で読み込めるようになるツール jsファイルを静的解析してrequire先を全部1つのファイルに固めてくれる
ファイルが多くなると10秒ぐらいかかる
利用例
transformと呼ばれるプラグインが多数ある
browserifyへ入る前後にフィルタをかけてくれる
-transformオプションに名前を渡すと動く
-debugオプションでsourcemap埋め込んでくれる
こんな感じでnpmたくさん読み込んでも元ファイルの名前と行数がちゃんとエラーに出る
requireが見つけれる書き方で書かないとbundleしてくれない
これはok
require("../src/hoge.js");
import hoge from "../src/hoge";
これもok
if(typeof window === "object") require("../src/hoge.js"); // ブラウザでの実行時に読み込み
これはfor文を実行してみないとわからないのでダメ
for(let i of ["foo", "bar"]){ require(\`${i}.js\`) }
相対パスで書かないとだめ
require( path.resolve("lib/main") );