LoginSignup
34
34

More than 5 years have passed since last update.

gulp で、CoffeeScript をコンパイルして concat して SourceMap 出力して SCSS もコンパイルして watch する

Last updated at Posted at 2014-09-17

とりあえず手元では動いているようなので上げておく。

  • CoffeeScript をコンパイルして
  • できた JavaScript ファイルを全部結合して
  • sourcemap ファイルを出力して
  • ついでに scss もコンパイルして
  • ファイルの変更を監視する

という gulpfile です。

gulpfile.coffee

gulp       = require 'gulp'
coffee     = require 'gulp-coffee'
concat     = require 'gulp-concat'
plumber    = require 'gulp-plumber'
sass       = require 'gulp-sass'
sourcemaps = require 'gulp-sourcemaps'


files =
    coffee: './app/**/*.coffee'
    scss  : './assets/css/**/*.scss'


gulp.task 'js', ->
    gulp.src files.coffee
        .pipe plumber()
        .pipe sourcemaps.init
            loadMaps: true
        .pipe coffee
            bare: true
        .pipe concat 'app.js'
        .pipe sourcemaps.write '.',
            addComment: true
            sourceRoot: '/src'
        .pipe gulp.dest './app'


gulp.task 'css', ->
    gulp.src files.scss
        .pipe plumber()
        .pipe sass()
        .pipe gulp.dest './assets/css'


gulp.task 'watch', ['build'], ->
    gulp.watch files.coffee, ['js']
    gulp.watch files.scss, ['css']


gulp.task 'build', ['js', 'css']
gulp.task 'default', ['build']

package.json

{
    "name": "gulp-coffee-sass",
    "version": "1.0.0",
    "devDependencies": {
        "coffee-script": "*",
        "gulp": "*",
        "gulp-coffee": "*",
        "gulp-concat": "*",
        "gulp-plumber": "*",
        "gulp-sourcemaps": "*",
        "gulp-sass": "*"
    }
}

つかいかた

gulp

でビルド、
指定フォルダの *.coffee ファイルをすべてコンパイルして1つのファイルにまとめ、SourceMap ファイルを出力。また、指定フォルダの *.scss もコンパイルします。

gulp watch

で監視に入ります。


一応 github に置きました

gulp 昨日使い始めたばっかりなので、見よう見まねです。おかしいとこなどありそう。

34
34
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
34
34