あらゆるファイルはコンパイルして作るものとして扱う
というかそうしたほうが色々便利であることに気付いた(別に必ずしもassembleする必要無いのだけれど)
今日の内容の詳細はCodeGridのassemble最終回参照
とりあえずCSS、JSはそのまま使う想定
├── Gruntfile.js
├── dest # wwwルートになるところ(空っぽ)
└── src
├── assemble # assembleのパーツ諸々
└── assets # いわゆるcommon的なやつら
├── css
├── imgs
└── js
2つのビルドパターン
├── Gruntfile.js
├── dest # 削除
└── src
├── assemble
└── assets
├── css
├── imgs
└── js
前のを削除
├── Gruntfile.js
├── dest # 2.ここに展開
└── src
├── assemble # 1.assembleの諸々を
└── assets
├── css
├── imgs
└── js
HTMLできた
├── Gruntfile.js
├── dest # 2.ここにコピー
│ └── assets
│ ├── css
│ ├── imgs
│ └── js
└── src
├── assemble
└── assets # 1.assetsの諸々を
├── css
├── imgs
└── js
コピーされた。基本的にはこれだけで見れる。SassなりCoffeeなりする場合はソレ
├── Gruntfile.js
├── dest # 1-2.assembleしてここに展開
│ └── assets
│ ├── css # 2-2.cssをここにコピー
│ ├── imgs # 3-2.画像をここにコピー
│ └── js # 4-2.jsをここにコピー
└── src
├── assemble # 1-1.assembleの変更で
└── assets
├── css # 2-1.cssの変更で
├── imgs # 3-1.画像の変更で
└── js # 4-1.jsの変更で
watchしてコピー
├── Gruntfile.js
├── dest # 削除
└── src
├── assemble
└── assets
├── css
├── imgs
└── js
前のを削除
├── Gruntfile.js
├── dest # 2.ここに展開
└── src
├── assemble # 1.assembleの諸々を
└── assets
├── css
├── imgs
└── js
同じ
├── Gruntfile.js
├── dest # 2.ここにコピー
│ └── assets
│ ├── css
│ ├── imgs
│ └── js
└── src
├── assemble
└── assets # 1.assetsの諸々を
├── css
├── imgs
└── js
一応コピーしとく。使わないけど。
├── Gruntfile.js
├── dest # htmlmin
│ └── assets
│ ├── css # cssmin
│ ├── imgs # imagemin
│ └── js # uglify
└── src
├── assemble
└── assets
├── css
├── imgs
└── js
minifyらを色々する。htmlminもできる。
{{#if production}}
<link rel="stylesheet" href="{{assets}}/css/base.min.css">
<link rel="stylesheet" href="{{assets}}/css/modules.min.css">
<script src="{{assets}}/js/library-a.min.js"></script>
<script src="{{assets}}/js/library-b.min.js"></script>
{{/if}}
{{#if dev}}
<link rel="stylesheet" href="{{assets}}/css/base.css">
<link rel="stylesheet" href="{{assets}}/css/modules.css">
<script src="{{assets}}/js/library-a.js"></script>
<script src="{{assets}}/js/library-b.js"></script>
{{/if}}
こういうので書き分けられる
ということで普段はサクサク開発リリース用には色々やっちゃえる
どこまでやるかによるけど
とかの理解がなかなか大変だった。でもHandlebars他でも使えるし許せるかも?
全てGruntでコントロール出来て結構素敵な感じがする
マッチする案件では試してみたい感