1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gulpとBrowserSync で作るちょっと便利なローカルサーバ

Posted at

タスクランナーを使って、ちょっと便利なローカルサーバを作る手順をご紹介します。

対象読者

  • タスクランナーって難しそうでなかなか手が出せない
  • タスクランナー使ってみたいけど、既存サイト改修ばかりでなかなか導入できる案件がない
  • フロントエンド開発のためにXAMPP入れるのはオーバースペックな気がする

特徴

  • 構築が簡単にできる
  • CSSの変更時に、リロードなしでブラウザ上へ反映する
  • htmlの変更時に、ブラウザを自動リロードする かえって邪魔になる場合があるので今回は見送り

ローカルサーバの作成

$ npm init -y
$ npm install --save-dev browser-sync gulp
gulpfile.js
const gulp  = require('gulp')
const browserSync = require('browser-sync').create()

// ソースを配置するディレクトリまでの相対パス
const srcDir = 'src'

/**
 * サーバ起動タスク
 */
gulp.task('server', (done) => {
  browserSync.init({
    // BrowserSyncのオプション
    'server': {
      'baseDir': [
        srcDir,
      ],
    },
    'ui': false,
    'ghostMode': false,
    'open':  false,
    'notify': false,
  }, done)
})

/**
 * CSS監視タスク
 */
gulp.task('watch', () => {
  // CSSの監視
  const wacher = gulp.watch(`${srcDir}/**/*.css`)
  // CSS変更時にstreamを使ってブラウザ上へ反映する
  wacher.on('change', (path) => gulp.src(path).pipe(browserSync.stream()))
  return wacher
});

/**
 * デフォルトタスク
 *
 * サーバ起動タスク完了後に、CSS監視タスクを開始する
 */
gulp.task('default', gulp.series(
  'server',
  'watch'
))

ローカルサーバの起動

$ npx gulp

まとめ

SASS のコンパイル後の CSS 自動反映の方法はよく見かけますが、プレーンな CSS 変更後の自動反映の記事が見当たらなかったので紹介してみました。
また、 BrowserSync の proxy オプションを使えば、バックエンド組み込み後のサイトにも使えますが、そのご紹介はまたの機会に。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?