0%

Programmingプログラミングナレッジ

Posted:2019.02.22

gulp-imageminで「ArgumentError」が発生する時の対処法メモ

過去記事「Gulpでいろんなフォーマットの画像を一括で圧縮する」でも紹介していますが、画像圧縮でとても便利なGulpのモジュール「gulp-imagemin」でアップデート後にエラーが発生してタスクが止まってしまう現象が起こりました。今回はその時の対処法について備忘録として残しておきたいと思います。

 

gulp-imageminをアップデート後、タスクをいつも通り実行すると、下記のエラーが表示されました。

ArgumentError: Expected argument to be of type `array` but received type `string`

 

翻訳してみると、どうやら引数を配列型にする必要があるようですね。いろいろ調べてみると下記のような対応をしてくださいとのことです。

【gulpfile.js】※一部省略

// 変更前
gulp.task('imagemin', function () {
 return gulp.src('src/images/*')
 .pipe(imagemin([
  pngquant({ 
   quality: '65-80',
   speed: 1 
  }),
  mozjpeg({ quality: 80 })
 ]))
 .pipe(gulp.dest('dist/assets/img/_min'));
});

// 変更後
gulp.task('imagemin', function () {
 return gulp.src('src/images/*')
 .pipe(imagemin([
  pngquant({ 
   quality: [ 0.65, 0.8 ], // 文字列から配列型に変更
   speed: 1 
 }),
 mozjpeg({ quality: 80 })
 ]))
 .pipe(gulp.dest('dist/assets/img/_min'));
});

 

pngquantなどで対象を複数の値で範囲を指定している場合、これまでは文字列で表現していたのですが、アップデート後は配列の形で値を指定する必要があります。公式ページ(https://www.npmjs.com/package/imagemin-pngquant)にも詳しく載っていますね。こういったちょっとした変更は知らないと焦る場合もありますので、ぜひ情報共有しておきたいものですね。

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】