私はBrowserifyとGulpから始めています。以前はGruntとBowerがカバーしていたすべての基盤について少し問題がありました。具体的には、私は2つをCoffeeifyで動作させることはできません。 .coffeeファイルを.jsに変換した後、これらのファイルをBrowserifyでバンドルするワークフローを簡単に使用できます。 JavaScriptのソースコードを確認するために、私は "コーヒー"タスクをとどめています。しかし、私はすでにCoffeeifyがこのタスクに最適化されていると確信しているので、むしろ代わりに使用したいと思います。Coffeeifyを使用しているときに「エラー:終了後に書き込む」
Coffeeifyでバンドルを変換しようとするたびに、「エラー:終了後に書き込み」が表示されます。私は、拡張を省略して、Browserifyのオプションでそれを指定しようとしました。 Browserifyの組み込みの "transform"オプション(ここでコメントアウトされています)を使用していますが、これはBrowserifyのAPIドキュメントにはありませんが、StackOverflowのいくつかの質問で見ました。 Browserifyの ".add()"関数(ここでもコメントアウト)を使用していますが、何も動作していないようです。私は関数として引用符をつけて引用符を使わずにcoffeeifyを使ってみました。
BrowserifyのAPIが初期段階にあり、多くの変更を行っている可能性があるため、検索に問題があります。 GitHubリポジトリで指定された方法で、コマンドラインからCoffeeifyを正常に使用しました。
var gulp = require('gulp');
var rename = require('gulp-rename');
var browserify = require('browserify');
var coffeeify = require('coffeeify');
var transform = require('vinyl-transform');
gulp.task('browserify', function() {
return gulp.src('app/modules/main/coffee/app.coffee', {base: './'})
.pipe(transform(function(filename) {
return browserify({
entries: filename,
debug: true,
// transform: ['coffeeify'],
extensions: ['.coffee']
})
// .add(filename)
.transform('coffeeify')
.bundle();
}))
.pipe(rename(function(path) {
path.dirname = '',
path.basename = 'index',
path.ext = '.js'
}))
.pipe(gulp.dest(''));
});
愚かなものがありますか? Coffeeifyはビニル変換では機能しないのですか?代わりにビニルソースストリームを使用すべきですか?注文が間違っていますか? 私のGulpタスクでCoffeeifyが動作しないのはなぜですか?
唯一の違いは、最後に 'gulp.src( '')'を呼び出すことです。インデントされているわけではありませんが、それは問題ありません。私を許してください。しかし、これがどのくらい正確に役立つでしょうか? – trysis
このエラー(https://github.com/hughsk/vinyl-transform/issues/1)の原因となる未解決のバグがいくつかあります。それらの問題は、元のsrcストリームが終了すると、まだ使用されている書き込み可能なストリームが終了することです。したがって、エラー。別のgulp.srcを返すことによって、gulpは新しいsrcを返すために初期コマンドが終了するまで強制的に待機します。私はこれが修正だとは確信していませんが、質問をしてから約2ヶ月が経過していたので、あなたはそれを試してみたいと思っていました。最悪の場合、それはうまくいかず、開始した場所に残っています。 – DavidEdwards
return gulp.src( '');残りのコードと同様にインデントされています。 – DavidEdwards