Grunt build
したかどうかをJavaScriptで判別する方法。
方針
grunt build
でscriptタグを消すことで、ビルド前後を区別する。
grunt-processhtmlでビルド時に削除するための記法があるので利用した。
<!-- build:remove --> <script src="scripts/beforeBuild.js"></script> <!-- /build -->
beforeBuild.jsで定数を定義して、別のJavaScriptで参照すればビルドしたのか、ビルドせずに実行しているのか判別できる。
AngularJSでの例
Constは定数を管理しているサービス。beforeBuild.js
の中身がこんな感じ。
'use strict'; angular.module('someCoolApp') .run(function(Const){ Const.beforeBuild = true; });
これで、ビルドするとbeforeBuild.js
は読み込まれないのでConst.beforeBuild
が未定義になる。他の場所でビルド済みかどうかを判別できる。