gulpでcharsetやファイルエンコードをShift_JISに変換する方法

先日、納品するタイミングで文字コードがShift_JISでないといけない案件がありgulpを使ってUTF-8からShift_JISに変換しました。
今回はそのときに行ったgulpの処理をまとめました。

プラグインのインストール

npm install gulp-replace gulp-convert-encoding --save-dev
PowerShell

タスクの記述

gulpfile.jsに下記を記述してください。
また「SRC」、「DIST」の部分はご自身の環境により変わりますので注意してください。

var gulp = require( 'gulp' ),
           convertEncoding = require('gulp-convert-encoding'),
           replace         = require('gulp-replace'),
           SRC             = "src/",
           DIST            = "dist/";

gulp.task('convert', () => {
  return gulp.src('SRC')
    .pipe(replace('UTF-8', 'Shift_JIS'))
    .pipe(convertEncoding({to: 'Shift_JIS'}))
    .pipe(gulp.dest('DIST'));
});
JavaScript

個別に処理したい場合

var gulp = require( 'gulp' ),
           convertEncoding = require('gulp-convert-encoding'),
           replace         = require('gulp-replace'),
           SRC             = "src/",
           DIST            = "dist/";

//個別処理(css)
gulp.task('convert-css', function() {
  return gulp.src(SRC + 'css/*.css')
    .pipe(replace('UTF-8', 'Shift_JIS'))
    .pipe(convertEncoding({to: "Shift_JIS"}))
    .pipe(gulp.dest(DIST + 'css'))
});

//個別処理(html)
gulp.task('convert-html', function() {
  return gulp.src(SRC + '**/*.html')
    .pipe(replace('UTF-8', 'Shift_JIS'))
    .pipe(convertEncoding({to: "Shift_JIS"}))
    .pipe(gulp.dest(DIST))
});
JavaScript

read next