gulpの導入手順
◆gulpの導入
インストールはコマンドプロンプトを用いて行う。
// Node.jsをインストール
https://nodejs.org/ja/
// Node.jsがインストールされているか確認
node -v
// gulp-cliをインストール(node_modules配下のgulpコマンドへパスを通してくれる)
【Windows】
npm install gulp-cli -g
【Mac】
sudo npm install gulp-cli -g
——-
◆コマンドウィンドウを開く
設定したいプロジェクトのディレクトリで Shift+右クリック。
[コマンドウィンドウをここで開く]を選択。(バージョンにより名称は変わる)
——-
◆ 必要なパッケージをインストールする
(プロジェクト内で開いたコマンドウィンドウで設定)
// package.json作る
npm init
// sassコンパイル
npm install gulp –save-dev
npm install gulp-sass gulp-autoprefixer gulp-plumber –save-dev
// js圧縮
npm install gulp-uglify –save-dev
// ファイルまとめる
npm install gulp-concat –save-dev
// ライブリロード
npm install browser-sync –save-dev
// 画像圧縮
npm install gulp-imagemin imagemin-mozjpeg imagemin-pngquant –save-dev
————————————————-
◆gulpfile.jp設定例
var gulp = require('gulp'); var plumber = require('gulp-plumber'); //監視中のエラーによる強制停止を回避 var sass = require('gulp-sass'); var autoprefixer = require('gulp-autoprefixer'); // css directory var cssInput = '_assets/css/'; var cssOutput = 'assets/css/'; // js directory var uglify = require('gulp-uglify'); //js圧縮 var concat = require('gulp-concat'); //ファイルの連結 var jsInput = '_assets/js/'; var jsOutput = 'assets/js/'; // image directory var imagemin = require('gulp-imagemin'); var pngquant = require('imagemin-pngquant'); var mozjpeg = require('imagemin-mozjpeg'); var imgInput = '_assets/images/'; var imgOutput = 'assets/images/'; // sass gulp.task('sass', function() { gulp.src(cssInput + '**/*.scss') .pipe(plumber()) .pipe(sass({ precision : 10, //計算時に小数点10桁まで出力 outputStyle: 'expanded' // nested | expanded | compact | compressed })) .pipe(autoprefixer({ browsers: ['last 2 versions', 'ie 10-11', 'iOS >= 7', 'Android >= 4.0'] })) .pipe(gulp.dest(cssOutput)); }); // js圧縮 gulp.task('js', function() { // lib/内のjsは除外 gulp.src([jsInput + '**/*.js', '!' + jsInput + 'lib/*.js']) .pipe(plumber()) // .pipe(concat('script.js')) //jsを1ファイルに連結 .pipe(uglify()) //圧縮 .pipe(gulp.dest(jsOutput)); }); // 画像圧縮 gulp.task('imagemin', function() { gulp.src(imgInput + '**/*') .pipe(imagemin([ pngquant({ quality: '65-80', speed: 1, floyd: 0 }), mozjpeg({ quality: 85, progressive: true }), imagemin.svgo(), imagemin.optipng(), imagemin.gifsicle() ] )) .pipe(gulp.dest(imgOutput)); }); // lib/内のjsを1ファイルに連結 gulp.task('jslib', function() { gulp.src(jsInput + 'lib/*.js') .pipe(plumber()) .pipe(concat('lib.js')) //jsを1ファイルに連結 .pipe(gulp.dest(jsOutput)); }); // ファイル監視 gulp.task('watch', function() { gulp.watch(cssInput + '**/*.scss', ['sass']); gulp.watch([jsInput + '**/*.js', '!' + jsInput + 'lib/*.js'], ['js']); gulp.watch(jsInput + 'lib/*.js', ['jslib']); gulp.watch(imgInput + '**/*', ['imagemin']); }); // ライブリロード var browserSync = require('browser-sync'); var bs = browserSync.create(); var proxy = 'localhost/gulp/'; // ライブリロード gulp.task('server', function() { bs.init({ proxy: proxy }); // reload gulp.watch(cssOutput + '**/*.css', bs.reload); //gulp.watch(jsOutput + '**/*.js', bs.reload); gulp.watch('**/*.{html,php}', bs.reload); }); // default gulp.task('default', ['watch', 'server']);
————————————————-
◆導入後のスタート
npm i
※package.jsonがすでにある場合、その中に記述されているモジュールを読み込む
————————————————-
◆gitでの無視設定
Project内の.gitignoreにnode_modulesを指定
もしくは
.git/info/excludeにnode_modulesを指定
————————————————-
◆gulp-compassが動かない時の手順
gulpでコンパス記述を動かす場合、別途パッケージが必要
エラー例)You need to have Ruby and Compass installed and in your system PATH for this task to work.
0.コマンドプロンプトを立ち上げ、rubyとcompassが入っているかを確認する。
ruby -v
compass -v
Rubyが入っていない場合:下記からダウンロードしてインストールする
https://t-cr.jp/memo/10.html
2.コマンドを打ってインストールされたか確認する
ruby -v
3.Rubyが入っていない場合:コンパスをインストールする
gem install compass
4.コマンドを打ってインストールされたか確認する
compass -v
5.gulpを立ち上げて動作を確認。
※動かない場合、パソコンの再起動で動く場合がある。
-
前の記事
MySQLのバージョン確認方法 2018.04.03
-
次の記事
WP-PageNaviが動かない場合の解決策 2018.04.06