2017-03-22 3 views
0

Ich habe Schluck läuft kompilieren und meine scss und js Dateien korrekt zu minimieren, aber für das Leben von mir kann ich nicht scheinen, haml Dateien mit dem Modul gulp-hamil korrekt zu kompilieren .Kompilieren mehrerer haml Dateien in einem HTML mit Schluck

Der entsprechende Code in meinem gulpfile.js sieht wie folgt aus:

gulp.task('haml', function() { 
gulp.src('.app/**/*.haml') 
    .pipe(plumber()) 
    .pipe(haml()) 
    .pipe(gulp.dest('./hamltest')); 
}); 

gulp.task('scripts', [ 
    'styles', 
    'app', 
    'haml' 
]); 

gulp.task('watch', function() { 
gulp.watch([ 
    './styles/', 
    '.app/**/*.js', 
    '.app/**/*.haml' 
], 
[ 
    'styles', 
    'app', 
    'haml' 
]); 
}); 

gulp.task('default', [ 
'styles', 
'scripts', 
'haml', 
'watch' 
]); 

Ich habe alle meine schluck Variablen einrichten und ich bin mit:

  • schluck-haml -v 0,1 .6
  • haml -v 0.4.3
  • schluck CLI -v 1.2.2
  • Lokale -v 3.9.1

mit dem Befehl: $ schluck im Terminal alles

An diesem Punkt läuft ich frage mich, ob es überhaupt möglich ist, mehrere haml-Dateien in eine HTML oder kompilieren mehrere haml Dateien in eine Haupt haml Datei zu kompilieren Rendern Sie dann in HTML.

Ist die Verwendung von Haml-Partials eine bessere Methode, dies zu tun? Ist das Ganze mit Gulp überhaupt möglich? Jede Einsicht würde sehr geschätzt werden.

Zusätzliche Information: Ich habe auch versucht, das Rohr, um mit() und Rohr concat() -Funktionen

Antwort

0

Mit schluck-haml Impossible Ruby-Code zu kompilieren, wie:

= Haml::Engine.new(File.read('./includes/menu-main.haml')).render 

weil gulp-haml keine volle Ruby-Engine-Funktionalität hat. Wenn du Ruby benutzen willst, lade es herunter und installiere es, dann installiere haml dafür (aber Ruby-Anfragen sind sehr langsam ~ 1-3). Oder verwenden Sie einen anderen Templater, wie schluck-file-include, so können Sie kompilieren dann Ihre kompilierte HTML-Dateien enthalten (im schluck-jhaml verwenden, hat es dieselben Funktionen mit großen Schluck-haml):

var haml  = require('gulp-jhaml'), 
    gih   = require('gulp-include-html'), 
    browserSync = require('browser-sync'); 

gulp.task('haml', function() { 
    return gulp.src(['source-folder/*.haml']) 
    .pipe(haml({}, {eval: false})) 
    .on('error', function(err) { 
     console.error(err.stack) 
    }) 
    .pipe(gulp.dest('source-folder/html')); 
}); 
gulp.task('html-include', ['haml'], function() { 
    gulp.src(['source-folder/html/*.html']) 
    .pipe(gih({ 
     prefix: '@@' 
    })) 
    .pipe(gulp.dest('result-folder')); 
}); 
gulp.task('watch', ['html-include', 'browser-sync'], function() { 
    gulp.watch('source-folder/*.haml', ['html-include']); 
    gulp.watch('result-folder/*.html', browserSync.reload); 
}); 
gulp.task('default', ['watch']); 

Sie kann auch gulp-pug mit einer nativen Funktion versuchen. Pug - wurde früher 'Jade' genannt.

Verwandte Themen