npm install
gulp
web/src/scss web/src/js
web/build/css web/build/js
(function () { | |
'use strict'; | |
var gulp = require('gulp'), | |
header = require('gulp-header'), | |
sass = require('gulp-sass'), | |
sourcemaps = require('gulp-sourcemaps'), | |
cssmin = require('gulp-cssmin'), | |
rename = require('gulp-rename'), | |
uglify = require('gulp-uglify'), | |
del = require('del'), | |
autoprefixer = require('gulp-autoprefixer'), | |
scss_selector = './web/_src/scss/**/*.scss', | |
css_dir = './web/build/css', | |
js_dir = './web/build/js', | |
js_selector = './web/_src/js/**/*.js', | |
banner = ['/*!', | |
' * @copyright Dragon Media Group B.V.', | |
' * @generated ' + (new Date()).toLocaleString(), | |
' */', | |
''].join('\n') | |
; | |
gulp.task('scss', function () { | |
del('web/build/**/*.css'); | |
gulp.src(scss_selector) | |
.pipe(sourcemaps.init()) | |
.pipe(sass({ | |
style: 'expanded', | |
sourceComments: 'normal' | |
})) | |
.pipe(autoprefixer({ | |
browsers: ['last 2 versions'], | |
cascade: false | |
})) | |
.pipe(header(banner)) | |
.pipe(sourcemaps.write()) | |
.pipe(gulp.dest(css_dir)) | |
.pipe(cssmin({ | |
//processImport: true, | |
//processImportFrom: 'all', | |
showLog: true | |
})) | |
.pipe(rename({suffix: '.min'})) | |
.pipe(gulp.dest(css_dir)) | |
; | |
}); | |
gulp.task('js', function () { | |
del('web/build/**/*.js'); | |
gulp.src(js_selector) | |
.pipe(header(banner)) | |
.pipe(gulp.dest(js_dir)) | |
.pipe(uglify({ | |
preserveComments: 'license', | |
output: { | |
ascii_only: true, | |
inline_script: true | |
} | |
})) | |
.pipe(rename({suffix: '.min'})) | |
.pipe(gulp.dest(js_dir)); | |
}); | |
gulp.task('default', ['scss', 'js'], function () { | |
gulp.watch([js_selector], ['js']); | |
gulp.watch([scss_selector], ['scss']); | |
}); | |
})(); |
{ | |
"name": "project-name", | |
"version": "1.0.0", | |
"description": "", | |
"main": "Gulpfile.js", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1" | |
}, | |
"author": "user <[email protected]>", | |
"license": "ISC", | |
"devDependencies": { | |
"del": "^2.0.2", | |
"gulp": "^3.9.0", | |
"gulp-autoprefixer": "^3", | |
"gulp-cssmin": "^0.1.7", | |
"gulp-header": "^1.7.1", | |
"gulp-rename": "^1.2.2", | |
"gulp-sass": "^2.0.4", | |
"gulp-sourcemaps": "^1.6.0", | |
"gulp-uglify": "^1.4.2" | |
} | |
} |