Advertisement
Guest User

gulpfile

a guest
Feb 10th, 2017
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var gulp           = require('gulp'),
  2.         gutil          = require('gulp-util' ),
  3.         sass           = require('gulp-sass'),
  4.         browserSync    = require('browser-sync'),
  5.         concat         = require('gulp-concat'),
  6.         uglify         = require('gulp-uglify'),
  7.         cleanCSS       = require('gulp-clean-css'),
  8.         rename         = require('gulp-rename'),
  9.         del            = require('del'),
  10.         imagemin       = require('gulp-imagemin'),
  11.         cache          = require('gulp-cache'),
  12.         autoprefixer   = require('gulp-autoprefixer'),
  13.         bourbon        = require('node-bourbon'),
  14.         ftp            = require('vinyl-ftp'),
  15.         notify         = require("gulp-notify"),
  16.         connect        = require('gulp-connect-php');
  17.  
  18. // Скрипты проекта
  19. gulp.task('scripts', function() {
  20.     return gulp.src([
  21.         'app/libs/jquery/dist/jquery.min.js',
  22.         'app/libs/magnific-popup/dist/jquery.magnific-popup.min.js',
  23.         'app/libs/owl.carousel/dist/owl.carousel.min.js',
  24.         'app/js/common.js', // Всегда в конце
  25.         ])
  26.     .pipe(concat('scripts.min.js'))
  27.     .pipe(uglify())
  28.     .pipe(gulp.dest('app/js'))
  29.     .pipe(browserSync.reload({stream: true}));
  30. });
  31.  
  32. gulp.task('connect-sync', function() {
  33.     connect.server({
  34.         base: 'app',
  35.         stdio: 'ignore'
  36.     }, function (){
  37.         browserSync({
  38.             proxy: '127.0.0.1:8000',
  39.             notify: false,
  40.         });
  41.     });
  42. });
  43.  
  44. gulp.task('sass', function() {
  45.     return gulp.src('app/sass/**/*.sass')
  46.     .pipe(sass({
  47.         includePaths: bourbon.includePaths
  48.     }).on("error", notify.onError()))
  49.     .pipe(rename({suffix: '.min', prefix : ''}))
  50.     .pipe(autoprefixer(['last 15 versions']))
  51.     .pipe(cleanCSS())
  52.     .pipe(gulp.dest('app/css'))
  53.     .pipe(browserSync.reload({stream: true}));
  54. });
  55.  
  56.  
  57. gulp.task('watch', ['sass', 'scripts', 'connect-sync'], function() {
  58.     gulp.watch('app/sass/**/*.sass', ['sass']);
  59.     gulp.watch(['libs/**/*.js', 'app/js/common.js'], ['scripts']);
  60.     gulp.watch('app/*.php').on('change', function () {
  61.         browserSync.reload();
  62.     });
  63. });
  64.  
  65. gulp.task('imagemin', function() {
  66.     return gulp.src('app/img/**/*')
  67.     .pipe(cache(imagemin()))
  68.     .pipe(gulp.dest('dist/img'));
  69. });
  70.  
  71. gulp.task('build', ['removedist', 'imagemin', 'sass', 'scripts'], function() {
  72.  
  73.     var buildFiles = gulp.src([
  74.         'app/*.html',
  75.         'app/*.php',
  76.         'app/.htaccess',
  77.         ]).pipe(gulp.dest('dist'));
  78.  
  79.     var buildCss = gulp.src([
  80.         'app/css/main.min.css',
  81.         ]).pipe(gulp.dest('dist/css'));
  82.  
  83.     var buildJs = gulp.src([
  84.         'app/js/scripts.min.js',
  85.         ]).pipe(gulp.dest('dist/js'));
  86.  
  87.     var buildFonts = gulp.src([
  88.         'app/fonts/**/*',
  89.         ]).pipe(gulp.dest('dist/fonts'));
  90.  
  91. });
  92.  
  93. gulp.task('deploy', function() {
  94.  
  95.     var conn = ftp.create({
  96.         host:      'hostname.com',
  97.         user:      'username',
  98.         password:  'userpassword',
  99.         parallel:  10,
  100.         log: gutil.log
  101.     });
  102.  
  103.     var globs = [
  104.     'dist/**',
  105.     'dist/.htaccess',
  106.     ];
  107.     return gulp.src(globs, {buffer: false})
  108.     .pipe(conn.dest('/path/to/folder/on/server'));
  109.  
  110. });
  111.  
  112. gulp.task('removedist', function() { return del.sync('dist'); });
  113. gulp.task('clearcache', function () { return cache.clearAll(); });
  114.  
  115. gulp.task('default', ['watch']);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement