この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
今回は小ネタです。
gulp等でレポートを生成し、制し得したレポートを確認したいといったことがあります。
gulpでファイル等を開く際に使えるプラグインとしてstevelacy/gulp-openがあるのですが、 例えばchromeで開きたいといった際にO/Sごとに付与するoptionが異なります。
そういった際にO/S情報をどのように取得するかといったtipsになります。
実装
O/Sの情報取得はNode.js内でosというモジュールをrequireすることで取得できます。
以下はO/Sの情報を取得しWindows環境ではchromeというオプションを、 それ以外ではGoogle Chromeというオプションを付与して、 Developers.IOを開くといったgulpタスクの例になります。
gulpfile.js
'use strict';
var os = require('os');
var gulp = require('gulp');
var gulpopen = require('gulp-open');
gulp.task('default',function(){
var chrome = os.type().toString().match('Windows') !== null ? 'chrome':'Google Chrome';
var options = {
url:'https://dev.classmethod.jp/',
app: chrome
};
return gulp.src('./gulpfile.js')
.pipe(gulpopen('',options));
});
動作確認
# npm install gulp
# npm install gulp-open
# gulp
まとめ
Gulpでフロントエンド用のタスクを作っていたりすると、 O/Sごとに挙動を切り替えたいといったケースが発生することがあります。
そう言った際に上記の方法でO/Sの情報が取得できますので、 その後条件分岐により挙動を切り替えることが可能になります。