LoginSignup
16
15

More than 5 years have passed since last update.

Gulp 導入にあたって

Last updated at Posted at 2015-02-14

手順

  • Node.js入れる
  • npm init (package.json作成)
  • npm install (packageインストール)
  • npm install --save-dev (packageをpackage.jsonのdevDependenciesに入れる)
  • npm install gulp -g (gulpをインストール)
  • gulpfile.jsにタスクなどを定義してく

ディレクトリ構造(サンプル)

prod:本番にあげるファイル
work:フロント開発関連ファイル
workの中で作業して一通り作業が終わったらビルド+デプロイ

.
├── .git
├── prod
│   ├── css
│   ├── img
│   ├── index.html
│   └── js
└── work
    ├── .bowerrc
    ├── .csslintrc
    ├── .editorconfig
    ├── .gitignore
    ├── .jshintrc
    ├── .tmp
    ├── README.md
    ├── bower.json
    ├── gulp
    │   ├── aliases.js
    │   ├── clean.js
    │   └── copy.js
    ├── gulpfile.js
    ├── node_modules
    ├── package.json
    └── src
        ├── _data
        ├── _sass
        ├── _stylus
        ├── _template
        ├── bower_components
        ├── img
        └── js

すること

できたらいいこと

タスク

編集中

gulpファイルのモジュール管理

詳しくはここ([Gulp.js] タスク単位のファイル分割)を参照。

  • タスクを小分けにJSファイルとして保存
  • recursive-readdirを使用して小分けファイルを自動的に本体のgulpfile.jsに読み込ませる
  • 本体でまとまったタスクを定義
  • コマンドでタスクを実行

小分けされたタスク:

/** gulp/js-taskname.js */
module.exports = function(gulp) {
   // 自動化タスクを定義
}

読み込みもとのgulpfile.js:

/** gulpfile.js */
var gulp      = require('gulp');
var recursive = require('recursive-readdir');

gulp.task('recursiveTask', function(callback) {
    recursive('./gulp', function (err, files) {
        files.forEach(function(path, index, arry) {
            path = './' + path.replace('\\', '/' );
            require(path)(gulp);
        });
        callback();
    });
});

gulp.task('default', ['recursiveTask'], function() {
    gulp.start(['js-minify', 'css-minify']);
});
16
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
15