Gulp Haml将HTML作为部分

Gulp Haml将HTML作为部分,gulp,haml,Gulp,Haml,我正在使用gulp来渲染haml,使用gulp-haml-coffee 我想这样做: header.html 网站标题 用gulp-haml无法编译Ruby代码,如: = Haml::Engine.new(File.read('./includes/menu-main.haml')).render 因为GulpHaml没有完整的Ruby引擎功能。如果您想使用Ruby,请下载并安装它,然后为它安装haml(但是Ruby请求非常慢~1-3s)。或者,使用其他一些模板器,比如gulp file

我正在使用gulp来渲染haml,使用
gulp-haml-coffee

我想这样做:

header.html


网站标题

用gulp-haml无法编译Ruby代码,如:

= Haml::Engine.new(File.read('./includes/menu-main.haml')).render
因为GulpHaml没有完整的Ruby引擎功能。如果您想使用Ruby,请下载并安装它,然后为它安装haml(但是Ruby请求非常慢~1-3s)。或者,使用其他一些模板器,比如gulp file include,这样您就可以编译并包含已编译的.HTML文件(我使用的是gulp jhaml,它与gulp haml具有相同的功能):

您也可以尝试使用本机函数include。-以前被称为“玉”

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']);