рдЧреБрд▓рдкрдЬреЗрдПрд╕ - рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд░

Gulp.js рдПрдХ JS рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрд┐рд▓реНрдбрд░ рд╣реИ ред рдпрд╣ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд╣рд╛рдВ рд▓рдЧрднрдЧ рдПрдХ рд╣рдЬрд╛рд░ рд╕реНрдЯрд╛рдЗрд▓рд╕ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЧреНрд░рдВрдЯрдЬ рдХреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ 2.5 рд╕реЗрдХрдВрдб рдФрд░ рдСрдЯреЛрдкреНрд░рд┐рдлрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП 2 рд╕реЗрдХрдВрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо 4 рдмрд╛рд░ рдЧреНрд░рдВрдЯрдЬ рдХреЛ рд╣рд░рд╛рдХрд░, рдпрд╣ рд╕рдм 0.5 рд╕реЗрдХрдВрдб рдореЗрдВ рдЧреБрд▓рдк рдХрд░рддрд╛ рд╣реИред



рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдпреБрд╡рд╛рдУрдВ, рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдХрдореА рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕рдореБрджрд╛рдп рд╕реЗ рднрдпрднреАрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд▓рд╣рд╛рд▓ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЛрдХрдкреНрд░рд┐рдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред рдлрд┐рд▓рд╣рд╛рд▓, 165 рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реИрдВ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рд▓реЗрдЦ рдЕрдзрд┐рдХ рдЕрднреНрдпрд╛рд╕ рд╣реЛрдЧрд╛, рд╣рдо рдЬреЗрдб рдФрд░ рд╕реНрдЯрд╛рдЗрд▓рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдлреНрд░рдВрдЯ-рдПрдВрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рдорд╛рд╣реМрд▓ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░реЗрдВрдЧреЗ, рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ рдФрд░ рд▓рд┐рд╡рд░реЗрд▓реЛрдб рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВрдЧреЗред рдореИрдВрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЧрд┐рддреВрдм рдкрд░ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред


рдЧрд▓реНрдк рд╕реНрдерд╛рдкрдирд╛

рдЖрдкрдХреЗ рдкрд╛рд╕ Node.JS рдФрд░ npm рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВ, рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдмрдирд╛рдПрдВ рдФрд░ рдЧреБрд▓рдк рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдВрд░рдЪрдирд╛:

|--/assets //  |--|--/template |--|--/stylus |--|--/js |--|--/img |--/build //   |--/public //   |--package.json |--gulpfile.js 


рд╕реНрдерд╛рдкрдирд╛:

 $ mkdir assets public build assets/js assets/img assets/stylus assets/template $ touch gulpfile.js $ sudo npm install gulp -g $ npm init $ npm install gulp gulp-jade gulp-stylus gulp-livereload gulp-myth gulp-csso gulp-imagemin gulp-uglify gulp-concat connect --save-dev 


рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдореЗрдВ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рд╣реИ gulpfile.js рдФрд░ рд╣рдо рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗред

рдЖрд░рдВрднрд┐рдХ рдкреНрд▓рдЧрдЗрдиреНрд╕:

 var lr = require('tiny-lr'), //   livereload gulp = require('gulp'), //  Gulp JS jade = require('gulp-jade'), //   Jade stylus = require('gulp-stylus'), //   Stylus livereload = require('gulp-livereload'), // Livereload  Gulp myth = require('gulp-myth'), //   Myth - http://www.myth.io/ csso = require('gulp-csso'), //  CSS imagemin = require('gulp-imagemin'), //   uglify = require('gulp-uglify'), //  JS concat = require('gulp-concat'), //   connect = require('connect'), // Webserver server = lr(); 


рдЙрджреНрджреЗрд╢реНрдпреЛрдВ:

рдЕрдм рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдп рдмрдирд╛рдПрдБ
 //  Stylus gulp.task('stylus', function() { gulp.src('./assets/stylus/screen.styl') .pipe(stylus({ use: ['nib'] })) //  stylus .on('error', console.log) //   ,    .pipe(myth()) //   - http://www.myth.io/ .pipe(gulp.dest('./public/css/')) //  css .pipe(livereload(server)); //     css }); 

рдЧрд▓реНрдк рдореЗрдВ, рд╣рдо рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо gulp.src рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдЯреНрд░реАрдорд╡рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред

рд╣рдо рдЬреЗрдб, рдЗрдореЗрдЬ рдФрд░ рдЬреЗрдПрд╕ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рднреА рдмрдирд╛рдПрдВрдЧреЗ
 //  html  Jade gulp.task('jade', function() { gulp.src(['./assets/template/*.jade', '!./assets/template/_*.jade']) .pipe(jade({ pretty: true })) //  Jade    ./assets/template/    _* .on('error', console.log) //   ,    .pipe(gulp.dest('./public/')) //    .pipe(livereload(server)); //      }); //  JS gulp.task('js', function() { gulp.src(['./assets/js/**/*.js', '!./assets/js/vendor/**/*.js']) .pipe(concat('index.js')) //   JS,      ./assets/js/vendor/** .pipe(gulp.dest('./public/js')) .pipe(livereload(server)); //      }); //     gulp.task('images', function() { gulp.src('./assets/img/**/*') .pipe(imagemin()) .pipe(gulp.dest('./public/img')) }); 



рдЖрд░рд╛рдорджрд╛рдпрдХ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рд░реНрд╡рд░ рдмрдирд╛рдПрдВ
 //     gulp.task('http-server', function() { connect() .use(require('connect-livereload')()) .use(connect.static('./public')) .listen('9000'); console.log('Server listening on http://localhost:9000'); }); 

рдЬрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдКрдкрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд▓рд┐рд╡рд░реЗрд▓реИрдб рд╣реИ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдп 'рд╡реЙрдЪ' рдмрдирд╛рдПрдВред

 //    gulp watch gulp.task('watch', function() { //    gulp.run('stylus'); gulp.run('jade'); gulp.run('images'); gulp.run('js'); //  Livereload server.listen(35729, function(err) { if (err) return console.log(err); gulp.watch('assets/stylus/**/*.styl', function() { gulp.run('stylus'); }); gulp.watch('assets/template/**/*.jade', function() { gulp.run('jade'); }); gulp.watch('assets/img/**/*', function() { gulp.run('images'); }); gulp.watch('assets/js/**/*', function() { gulp.run('js'); }); }); gulp.run('http-server'); }); 


рдЕрдм рдЖрдк рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред
 $ gulp watch 


рдпрд╣ рд╕рд░реНрд╡рд░ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ: 9000 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╣рдордиреЗ рд▓рд┐рдпреЗрд▓рд┐рд╕реЛрдб рдХреЗ рд╕рд╛рде рд╕реНрдЯрд╛рдЗрд▓рд╕ рдФрд░ рдЬреЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡реЗрдм-рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдпрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рдПрдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, 'рдмрд┐рд▓реНрдб' рдХрд╛рд░реНрдп рдмрдирд╛рдПрдБ

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрд╕реЗрдВрдмрд▓реА
 gulp.task('build', function() { // css gulp.src('./assets/stylus/screen.styl') .pipe(stylus({ use: ['nib'] })) //  stylus .pipe(myth()) //   - http://www.myth.io/ .pipe(csso()) //  css .pipe(gulp.dest('./build/css/')) //  css // jade gulp.src(['./assets/template/*.jade', '!./assets/template/_*.jade']) .pipe(jade()) .pipe(gulp.dest('./build/')) // js gulp.src(['./assets/js/**/*.js', '!./assets/js/vendor/**/*.js']) .pipe(concat('index.js')) .pipe(uglify()) .pipe(gulp.dest('./build/js')); // image gulp.src('./assets/img/**/*') .pipe(imagemin()) .pipe(gulp.dest('./build/img')) }); 



рд╣рдо рдирд┐рд░реНрдорд╛рдг рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдорд╛рдкреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ
 $ gulp build 

GulpJS рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред

Source: https://habr.com/ru/post/In208890/


All Articles