LoginSignup
15
16

More than 5 years have passed since last update.

タスク自動化ツール「Fly」でSass(SCSS)とJadeでコーディングできる環境を構築してみる

Last updated at Posted at 2015-10-06

前回の記事を書いてから、Flyをとりあえず試してみようと思って、自分自身Webデザインがメインなので、とりあえずコーディングできる環境を作ってみようと思い、Sass(SCSS)とJadeでコーディング出来る環境をFlyで組んでみました。

Fly 参考文献

Fly Coding format

実際に作ってみた物は下記に置いておきました。
https://github.com/kitaro729/fly-coding_format

タスク内容

  1. Sass(SCSS)のコンパイル
  2. Jadeのコンパイル
  3. ローカルサーバー立ち上げ
  4. Sass(SCSS)とJadeの更新を感知し自動コンパイル
  5. 自動コンパイル後にブラウザをリロード

今回使ったパッケージ

パッケージ名 内容
fly Fly本体
fly-sass Sass(SCSS)のコンパイル
fly-jade Jadeのコンパイル
browser-sync ローカルサーバー立ち上げとライブリロード

記述内容

flyfile.js
/*------------------------------------------------------------

0. Setting */

import browserSync from 'browser-sync'
const reload = browserSync.reload

const paths = {
  jade: ['jade/**/*.jade'],
  sass: ['sass/**/*.scss'],

  watch: {
    jade: 'jade/*.jade',
    sass: 'sass/*.scss',
  },

  dist: {
    jade: 'dist',
    sass: 'dist/css',
  }
}

/*------------------------------------------------------------

1. Default task */

export default function* () {
  yield this.start(['sass', 'jade', 'server'])
  yield this.watch(paths.sass, ['sass', 'liveReload'])
  yield this.watch(paths.jade, ['jade', 'liveReload']);
}

/* SASS compile */
export function* sass () {
  yield this
    .source(paths.watch.sass)
    .sass({
      outputStyle: "compressed",
      includePaths: ["sass"],
    })
    .target(paths.dist.sass);
}

/* Jade compile */
export function* jade () {
  yield this
    .source(paths.watch.jade)
    .jade({
      base: 'jade'
    })
    .target(paths.dist.jade);
};

/* Live reload */
export function* liveReload () {
  browserSync.reload()
}

/* Local Server */
export function* server () {
  browserSync({
    server: 'dist/'
  })
}
15
16
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
15
16