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" | |
| } | |
| } |