あらゆるファイルはコンパイルして作るものとして扱う
というかそうしたほうが色々便利であることに気付いた(別に必ずしも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でコントロール出来て結構素敵な感じがする
マッチする案件では試してみたい感