Gulp + browser-sync の環境でSSIを使う機会があったので、設定方法をメモしておきます。
設定方法
Gulpの環境を用意して、browser-syncとconnect-ssiをインストールします。
npm install browser-sync --save-dev npm install connect-ssi --save-dev
gulpfile.jsファイルに処理を追記します。
gulpfile.js
var gulp = require('gulp'), browserSync = require('browser-sync'), connectSSI = require('connect-ssi'); /* ================================================== Browser-sync ================================================== */ gulp.task('server', function() { browserSync({ server: { baseDir: './dev/', middleware: [ connectSSI({ baseDir: __dirname + '/dev', ext: '.html' }) ] } }); });
ディレクトリ構成は以下のようになっています。
開発はdevディレクトリ内で行う想定でgulpfile.jsを作成していますので、開発環境に応じて適宜変更してください。
- dev
- includes
- header.html
- index.html
- includes
- gulpfile.js
実際にSSIを使ってみます。
ヘッダーをSSIで管理するようにしてみます。
header.html
<header class="header"> <p class="header_sitename">サイト名</p> </header>
ヘッダーのファイルをインクルードします。
index.html
<!--#include virtual="/includes/header.html" --> <div class="contents"> <p>コンテンツ</p> </div>
Browser-syncを起動して確認すると、以下のように表示できました。
index.html
<header class="header"> <p class="header_sitename">サイト名</p> </header> <div class="contents"> <p>コンテンツ</p> </div>
【参考サイト】
コメントが承認されるまで時間がかかります。