gulpでSSI(サーバーサイドインクルード)を使用する「connect-ssi」

最近SSI(サーバーサイドインクルード)を使う機会があり、ローカル開発環境でも確認のためにSSIを表示できるようにする必要がありました。
今回はBrowserSyncと合わせて使うことでSSIが使えるようになる「connect-ssi」についてまとめておきます。
connect-ssiのインストール
まずは「connect-ssi」のインストールからです。
BrowserSyncと合わせて使うため、gulp自体と一緒にインストールしておきます。
npm install gulp -d
npm install browser-sync -d
npm install connect-ssi -dgulpfile.jsの設定
下記がgulpfile.jsの設定です。
browserSync.init({});内で「middleware」を呼び出していて、そこでconnect-ssiの設定をしています。
var gulp = require('gulp');
var browserSync = require("browser-sync");
var connectSSI = require('connect-ssi');
// 起動時のパス
var startPath = '/index.html';
// BrowserSyncの設定
gulp.task('browser-sync', function(done) {
browserSync.init({
server: {
baseDir: "./dist",
},
startPath: startPath,
middleware: [
connectSSI({
baseDir: './dist',
ext: '.html'
})
]
});
done();
});
gulp.task('bs-reload', function(done) {
browserSync.reload();
done();
});
var browserSync = require('browser-sync');
// 監視
gulp.task('watch', function(done) {
gulp.watch(['/html**/*.scss'], gulp.task('bs-reload'));
gulp.watch(['/html**/*.css'], gulp.task('bs-reload'));
gulp.watch(['/html**/*.html'], gulp.task('bs-reload'));
gulp.watch(['/html**/*.{png,jpg,gif,webp,svg,ics,css,pdf,js}'], gulp.task('bs-reload'));
done()
});
gulp.task('default', gulp.series(gulp.parallel('browser-sync', 'watch')));設定することは「baseDir」で読み込みの基準となるディレクトリを指定するのと、「ext」でSSIで読み込むファイルの拡張子を指定するくらいです。
これで下記コマンドでgulpを起動すると、localhostがブラウザで起動して、SSIの記述がある場合は表示されるようになります。
npx gulp

.htaccessを使って、httpからhttpsへリダイレクトする設定方法
Sassのマップ機能を使った変数の管理方法
疑似クラスの:hoverと:activeのスマホでの挙動の違い
Visual Studio Codeのマルチカーソル機能で文字操作を一括で行う
npm-scriptsでSCSSをコンパイルする環境を構築する方法
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
Movable TypeでAssetURLやEntryPermalink・ContentPermalinkで出力されるパスを絶対パスから相対パスに変える
Movable Typeでコメントアウトして出力時に無視する方法
Visual Studio Codeの基本|概要やインストールから日本語化など最低限の設定方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Visual Studio Codeのエクスプローラーを見やすくするちょっとしたカスタマイズ
Visual Studio CodeのEmmetのlang属性をjaに変更する方法
Illustratorでスクリプトを実行するいくつかの方法
Alfred Workflowで、AppleScriptを使ってFinderとPath Finderの現在開いているパスを取得する方法
Macの「システム終了」や「スリープ」操作を素早く行う方法
Figmaで文字色と背景色のコントラスト比をチェックするプラグイン「Contrast」
Path Finderのフォルダ移動ショートカットキーを設定する【デフォルト設定 + Keyboard Maestro】
Macでテキスト選択時にポップアップを表示する「PopClip」
QuickTime Playerで動画のトリミングを行う方法
AlfredでFigmaのチーム・プロジェクト・ファイルを素早くの検索ができる「Alfred Figma Workflow」