@Nikinikonewbie

Оптимизация конкретного кода JS(gulp)?

Всем привет. Простите за вопрос, который больше просит написать код за ТСа, но не приложу ума, как сделать..
В общем, логика gulp.js такая:
Есть файлы в 3 папках ./haml/p; ./haml/l; ./haml/i
В них находятся файлы .haml. Далее, нужно собрать эти файлы в соответствующие ./_p ; ./_l ; ./_i директории, но собирает он их в одну строку. Я решил ко всему в добавок применить prettify для html. В моем коде ниже мы сохраняем каждый haml файл сначала в ./haml/html/(p|l|i), а потом prettify в нужную директорию.
В идеале, все должно выполнятся в два таска, но как это сделать я не могу додуматься.. Вот код, который работает:
var gulp = require('gulp');
var haml = require('gulp-haml');
var prettify = require('gulp-prettify');


gulp.task('layouts', function() {
  gulp.src('./haml/layouts/*.haml')
    .pipe(haml())
    .pipe(gulp.dest('./haml/html/_layouts/'));
});

gulp.task('prettify_layouts', function(){
  gulp.src('./haml/html/_layouts/*.html')
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_layouts/'));
});

gulp.task('includes', function() {
  gulp.src('./haml/includes/*.haml')
    .pipe(haml())
    .pipe(gulp.dest('./haml/html/_includes/'));
});

gulp.task('prettify_includes', function(){
  gulp.src('./haml/html/_includes/*.html')
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_includes/'));
});

gulp.task('posts', function() {
  gulp.src('./haml/posts/*.haml')
    .pipe(haml())
    .pipe(gulp.dest('./haml/html/_posts/'));
});

gulp.task('prettify_posts', function(){
  gulp.src('./haml/html/_posts/*.html')
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_posts/'));
});

gulp.task('default', function() {
  gulp.start('includes','prettify_includes', 'layouts', 'prettify_layouts', 'posts', 'prettify_posts');
});

простите за такой вопрос и помогите, пожалуйста
  • Вопрос задан
  • 265 просмотров
Пригласить эксперта
Ответы на вопрос 2
Что вам не подходит в следующем коде (вариант можно доработать, если понять куда двигаться):
var gulp = require('gulp');
var haml = require('gulp-haml');
var prettify = require('gulp-prettify');


gulp.task('layouts', function() {
  gulp.src('./haml/layouts/*.haml')
    .pipe(haml())
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_layouts/'));
});

gulp.task('includes', function() {
  gulp.src('./haml/includes/*.haml')
    .pipe(haml())
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_includes/'));
});

gulp.task('posts', function() {
  gulp.src('./haml/posts/*.haml')
    .pipe(haml())
    .pipe(prettify({indent_size: 2}))
    .pipe(gulp.dest('./_posts/'));
});

gulp.task('default', ['includes', 'layouts', 'posts']);
Ответ написан
Комментировать
@nk_pl
var gulp = require('gulp');
var haml = require('gulp-haml');
var prettify = require('gulp-prettify');

gulp.task('haml', function() {
	gulp.src('./haml/**/*.haml', {base: './haml'})
		.pipe(haml())
		.pipe(prettify({indent_size: 2}))
		.pipe(gulp.dest('./'))
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы