package.jsonをどう書けばいいのかよくわからない・・・。jade, coffee-script, stylusだけをgitで管理し、gruntでビルドしたjs, css, bower_componentsとかは、gitで管理する必要がない。流れ的には下記の通り。
jade, stylus, coffee-scriptで開発。 gruntで更新ファイルを監視し、jadeはcopy、stylusはcssへ、coffee-scriptはjsへ。 gitで管理するのは、1.のファイルたち。 Herokuへdeploy。 gruntが実行して、1.のファイルたちが2.になってサーバーが動く。 この流れに行き着くまでに色々理由がある。
coffeeファイルでNode.jsを動かしてもいいが、syntaxerrorが事前にわかりにくい。
→ grunt-coffeelintで文法チェックをする
→ 文法チェックしても動くかどうかはわからない。
→ やっぱりjsファイルにしてから動作確認したい。 grunt-autoprefixerを使えば、-webkit, -mozなどを書かなくても保管してくれる。
→ stylusには効かない。
→ stylusからcssに変換してからautoprefixerを掛ける。 Herokuへdeployするにはgitで管理しているファイルに限る。 → gruntで書きだしたファイルをgitで管理する?いやそれはない。
→ gruntで書きだす前のファイルをgitで管理しないと意味がない。
Herokuへdeployする時にgruntを動かしたい。
→ 方法としては、package.jsonのscriptにpostinstallを追記する。
→ または、Herokuが提供しているbuildpackを使ってgruntを叩くようにheroku configで設定をする。
4.の項目に関して、具体的なpackage.jsonは下記の通り。
package.json 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20