2017-03-22 3 views
0

私はgulpを正しくコンパイルして実行していますが、gulp-hamlモジュールで正しくhamlファイルをコンパイルできないようです。複数のhamlファイルを1つのhtmlにまとめる

私gulpfile.jsにおけるそれぞれのコードは次のようになります。

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

私はすべての私の一気変数を設定していると私は実行しています:

  • 一気-HAML -v 0.1を0.6
  • HAML -v 0.4.3
  • 一気のCLI -v 1.2.2
  • ローカル-v 3.9.1

コマンドを使用します。$ゴクゴクを端末内にそれがメインHAMLのファイルに複数のHAMLファイルを1つのHTMLに複数のHAMLファイルをコンパイルまたはコンパイルすることも可能です場合、私は思ったんだけど、この時点で、すべて

を実行するために、 htmlにレンダリングします。

これを行うには、hamlパーシャルを使用する方がよいでしょうか? Gulpでこの全部のことも可能ですか?どんな洞察も高く評価されるだろう。

追加情報:は、私はまた、パイプの順序()とパイプの連結()関数を使用してみました一気-HAMLで

答えて

0

Rubyコードをコンパイルすることは不可能のように:

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

gulp-hamlには完全なRubyエンジン機能がないためです。 Rubyを使用したい場合は、それをダウンロードしてインストールしてから、hamlをインストールします(ただし、Rubyリクエストは1〜3秒という非常に遅いです)。それとも、あなたはコンパイルした.HTMLファイル含めるその後、コンパイルできるように、(ゴクゴク-jhamlを使用してイムを、それは一口-HAMLと同じ機能を持っている)、-含ま一気ファイルのように、いくつかの他のtemplaterを使用します。

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

あなたはまた、ネイティブ関数インクルードでgulp-pugを試すこともできます。 Pug - 以前は「Jade」と呼ばれていました。

関連する問題