-
Node (最新版推奨)
-
Gulp
npm install -g gulp
-
bower
-
Ruby
-
Bundler
├ root (公開用)
└ src (作業用)
├ css
├ js
└ img
src(作業用)フォルダで作業した内容をgulpでwatchしてroot(公開用)
gulpfile_settings.js
の内容を書き換えてください。
jQueryなど必要なjsがあればpackage.jsonに記述するか。 もしくはbower.jsonに記述してください。
個人的にはnpmで管理できる範囲であればpackage.jsonに書き、 npmにないものであればbower側に記述するように使い方を分けています。 フロント側で必要なファイルはbowerで一括管理も良いかなと思っています。
package.json
"dependencies": {
"jquery": "",
"react": "",
"react-router": ""
}
bower.json
"dependencies": {
"google-code-prettify": "",
}
それぞれプロジェクトを始める際にバージョン指定をしてください。 空の状態だと最新がダウンロードされますが、 時間がたち最新バージョンが変わった場合には正常に動作しなくなってしまう可能性があるためです。
下記を使ってnode_modulesをインストールするとpackage.jsonに現在の最新のバージョンが自動で指定できます。
自分で使っているscssファイルをsrc/css
内に入れてください。
自分の場合bowerでinstallしてcpで移動しています。
bower install https://github.com/kamem/compass.default.git
cp bower_components/compass.default/sass/* src/css
postcssを使いたい場合はgulpfile_settings.js
を修正してscssではなくcssをwatchするようにします。
settings.watch.css.files = settings.watch.css.dir + '**/*.css';
-
package.jsonのnode_modulesをinstall
sudo npm install
-
Gemfileに従い、sass,compassをinstall
bundle install
-
bower.jsonを使ってjsをダウンロードしたい場合
bower install
gulp
// "src/img/sprite/**/*.png"内のファイルをスプライト化
gulp sprites
src/img/sprite/
内にsprite-**.png
というファイルがフォルダの数分生成されます。
src/css
内にsrc/img/sprite/
以下のフォルダの数分のscssの設定ファイルが生成されます。
ex) num
フォルダの場合
sprite-num.png
_num.scss
// "src/font/**/*.svg"内のファイルをfont化
gulp svgfonts
src/font/
内にfontがフォルダの数分生成されます。
src/css
内にsrc/font/
以下のフォルダの数分のscssの設定ファイルが生成されます。
fontの内容を確認したい場合はsrc/css/font/sns_fontlist.html
を見るとfont一覧を確認できます。
@import "font/_name";
.test {
font-family: $name-test; //変数で文字コードを取ってくることができます。
//(フォルダ名 - ファイル名)
}
吐き出すscssの内容を変えたい場合はsrc/css/font/templates/css.scssを編集してください。
useminを使っています。
<!-- build:js js/common.js -->
<script src="../node_modules/jquery/dist/jquery.js"></script>
<script src="../bower_components/google-code-prettify/src/prettify.js"></script>
<!-- endbuild -->
root/js/common.js
としてjquery.js
prettify.js
をまとめたファイルが生成されます。
htmlはroot/
に下記ように変換され出力されます。
<script src="js/common.js"></script>
jsx
と拡張子をつけることによって、webpackとbabelを使えるようにしています。
webpackとbabelを使わない場合は拡張子をjs
にしてください。
localhost:8888 で確認できます。
-
CSS,JSの圧縮
gulp build --minify true