を変更せずに無限ループを作成し、この非常に水で薄めたスニペットでは、(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つのファイルを指していても、これはまだ起こります。
私は恥ずかしいと思っていますが、私は全く混乱しています。
[ '飲み込む-watch'プラグイン](https://www.npmjs.com/package/gulp-watch)とビルトイン[' gulp.watch() '](https://でGitHubの。 COM/gulpjs /一気/ブロブ/マスター/ドキュメント/ API.md#gulpwatchglob - - タスク・オア・gulpwatchglobを付き合え - -CBを付き合え)全く異なるものです。彼は組み込み関数を使っているので、 'require( 'gulp-watch')は不要です。 –
@SvenSchoenungに同意し、別の依存関係を追加してコールバックする必要はありませんでした。相対パスは、他のノードスタックではいつも私のために働いています。それはちょうどいくつかの環境問題であったようです。 –