r.jsでビルドする際に設定として使うbuild.jsを動的にする。diaryこの広告は、90日以上更新していないブログに表示しています。2012-11-28r.jsでビルドする際に設定として使うbuild.jsを動的にする。JavaScriptr.jsRequireJS用のmoduleをビルドする際にはr.jsを使います。build.jsこの時にビルド設定の記述に使用するのがbuild.jsでこんな感じで書きます。}})動的なbuild.jsbuild.jsはJSONではなくてJSです。JSなので処理を書くことが出来ます。関数その場実行を含む下記のbuild.jsは、上記のものと同じ設定を表します。})()})ちなみに全体を関数その場実行で包むことは出来ません。以下のコードはbuild.jsとしては使えません。});})();さて、現状ではbuild.jsの中に処理を書けるようになったものの、何を以て設定を変更するかが分からないので、動的というほどではなくてあまり嬉しくありません。r.jsはNode.jsで実行されているので、process.argvでコマンドライン引数を参照することも出来ます。})()})これでコマンドラインオプションによってビルド時の設定を細かく変えることが出来るようになりました。繰り返しますが全体を関数その場実行で包むことは出来ません。objectのvalueしか関数その場実行で包めません。処理を関数として共通化したくても、それを置いておく場所がありません。optionによる振り分けを行いたいなら、各項目のvalueの関数その場実行の中に以下を入れる必要があります。'').replace(/^os=/,'');これではちょっとやりたいことが増えればすぐに肥大化してしまいます。繰り返しますがr.jsはNode.jsで実行されています。共通化したい処理はNode.jsのmoduleにしてしまいましょう。以下のような内容のoptions.jsを作ります。}};これを使う際の注意点は二つあります。Node.jsのmodule読み込み関数requireはr.jsではrequire.jsのそれで上書きされています。nodeRequireが元々のrequire関数なのでこれを使います。Node.jsで実行されているのはr.jsなので、build.jsからの相対pathでmoduleを読み込もうとしても無駄です。process.env.PWDを使ってr.jsを実行したときのカレントディレクトリ(build.jsはここにある前提)を参照しましょう。こんな感じでもりもりbuild.jsを動的にしていくことが出来ます。複数環境向けビルドをしたいとか行った場合に捗りますね。15:05r.jsでビルドする際に設定として使うbuild.jsを動的にする。読者になる検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro最新記事r.jsでビルドする際に設定として使うbuild.jsを動的にする。月別アーカイブはてなブログをはじめよう!monjudohさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。