2016-05-27 4 views
2

を変更せずに無限ループを作成し、この非常に水で薄めたスニペットでは、(gulpを実行npm start経由)デフォルトゴクゴクのタスクを実行しています。このスニペットは、スクリプトタスクを何度も実行している無限ループを作成します。ここでgulpfile.jsは(現時点では文字通り全体のこと)である:ガルプウォッチングが他の質問と同様にファイル

'use strict'; 

const gulp = require('gulp'); 

// COPY SCRIPTS TO BUILD FOLDER 
gulp.task('scripts', function() { 
    return gulp.src('./scripts/**/*.js') 
    .pipe(gulp.dest('build/scripts')) 
}); 

// WATCH FILES 
gulp.task('watch', function() { 
    gulp.watch('./scripts/**/*.js', ['scripts']); 
}); 

// DEFAULT 
gulp.task('default', ['watch']); 

余分な奇妙なことがビルドフォルダが新たに構築されているかどうか、スクリプトタスクはすぐに実行されるということですnpm startに電話した後!そしてループが始まります。あなたは好奇心旺盛だ場合

は、ここに貼り付け(とのみ)スクリプトが私のpackage.jsonにオブジェクトです:

"scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1", 
    "start": "gulp" 
    }, 

私のディレクトリ内の唯一の他の事はとスクリプトフォルダですapp.jsおよびhome.jsファイルが含まれています。このタスクが実行されて明らかに一度、(それはまだ、すでに存在しなかった場合)ビルドフォルダが作成され、前述の2つのファイルがそこにコピーされます。

あなたは私だけのスクリプトと呼ばれるルートディレクトリの最初のレベルのフォルダ内のスクリプトを探しています見ることができますので、私は、スクリプトの同じセットに変更を参照することで無限ループを持つべきではありません。また、たとえ私が明示的であっても、./scripts/home.jsのような相対パスを持つ特定の1つのファイルを指していても、これはまだ起こります。

私は恥ずかしいと思っていますが、私は全く混乱しています。

答えて

0

いくつかのエラーが発生している可能性のあるものをいくつか取り上げました。

EDIT - だから、かなり奇妙な動作ですが、これはトリックを行う必要がありnpm install --save-dev gulp-watch

// Try and declare your plugins like this for now. 
var gulp = require('gulp'), 
    watch = require('gulp-watch'); 

// Provide a callback, cb 
gulp.task('scripts', function(cb) { 
    // Dont use ./ on your src as watch can have a problem with this 
    return gulp.src('scripts/**/*.js') 
    .pipe(gulp.dest('./build/scripts'), cb); // call cb and dont forget ; 
}); 

// remove ./ on watch 
gulp.task('watch', function() { 
    gulp.watch('scripts/**/*.js', ['scripts']); 
}); 

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

時計のプラグインを試してみてください。 私が使用する唯一の時間はです。

またちょうどちょうどJSはので、私はここで解決を保証することはできません

+1

[ '飲み込む-watch'プラグイン](https://www.npmjs.com/package/gulp-watch)とビルトイン[' gulp.watch() '](https://でGitHubの。 COM/gulpjs /一気/ブロブ/マスター/ドキュメント/ API.md#gulpwatchglob - - タスク・オア・gulpwatchglobを付き合え - -CBを付き合え)全く異なるものです。彼は組み込み関数を使っているので、 'require( 'gulp-watch')は不要です。 –

+0

@SvenSchoenungに同意し、別の依存関係を追加してコールバックする必要はありませんでした。相対パスは、他のノードスタックではいつも私のために働いています。それはちょうどいくつかの環境問題であったようです。 –

0

など、あなたのセミコロンを、覚えていることgulpfileを覚えているが、私はこれが解決された時に変更2つの変数を持っていた:

  • バージョン10 - > 11から私のParallels VMアプリケーションをアップグレードしました。
  • 私は現在のバージョン のライセンスを使ってWindows 10を再インストールしました(前のバージョンは、ライセンスされた開発者または以前のリリースバージョンでした)。

私のコードは、ノードのバージョン、devDependenciesおよびバージョンは同一でした。

関連する問題