より正確にいうとgrunt-wiredep使用の環境でangular-momentでロケール指定したい、ということ。
angular-momentをインストールする
% bower install angular-moment --save
これでgruntタスクを実行すれば、momentも依存関係でインストールされて、wiredepで差し込まれてめでたしめでたし…
index.html
<!-- bower:js -->
<!-- 略 -->
<script src="bower_components/moment/moment.js"></script>
<script src="bower_components/angular-moment/angular-moment.js"></script>
<!-- endbower -->
いやいや。これだとロケールファイルが含まれていない。
bower_components/下のmomentを見ると、minディレクトリにmoment-with-locales.jsがある。
なので、プロジェクトのbower.jsonでmainをoverrideする。
bower.json
{
// 略
"overrides": {
"moment": {
"main": "min/moment-with-locales.js"
},
"angular-i18n": {
"main": "angular-locale_ja-jp.js"
}
}
ロケール入りになった。
index.html
<!-- bower:js -->
<!-- 略 -->
<script src="bower_components/moment/min/moment-with-locales.js"></script>
<script src="bower_components/angular-moment/angular-moment.js"></script>
<!-- endbower -->
これで設定できる
app.coffee
myapp.run((amMoment) ->
amMoment.changeLocale('ja')
)