質問: require('gulp-ejs'); // 1. SASSをCSSに変換するタスク---------------------------- // gulp.task([第1引数:タスク名], [第2引数:タスクで行う処理]) gulp.task('sass', function(){ gulp.src('sass/*.scss') // どのファイルを処理対象にするかのptn .pipe(plumber({errorHandler: notify.onError('<%- error.message %>')})) .pipe(gulpSass()) // pipe([処理内容]) .pipe(gulp.dest('css')) // gulp.dest([書き出し先]) .pipe(browserSync.reload({ stream: true })); }); // 2. リロードするだけのタスク----------------------------- // browser-sync を使用 gulp.task('reload', function(){ browserSync.reload(); }); // 3. デフォルトタスク------------------------------------ // ptnにマッチするファイルを監視し、変更のタイミングでタスクを実行 // browser-sync でオートリロードを実行 gulp.task('default', function(){ browserSync({ server: { baseDir: './' } }); // gulp.watch(['app/ejs/common/*.ejs', '!node_modules'], ['html']); // gulp.watch(['app/ejs/*.ejs', '!node_modules'], ['html']); gulp.watch(['app/public/*.html', '!node_modules'], ['reload']); gulp.watch(['sass/*.scss', '!node_modules'], ['sass']); gulp.watch(['**/*.js', '!node_modules'], ['reload']); }); //HTMLに変換して出力する--------------------------------- gulp.task("ejs", function() { gulp.src( //(1)EJSファイルの参照先ディレクトリ名 //「’!’ + “app/dev/ejs/**/_*.ejs”」の部分で、「_(アンダーバー)で始まるejsファイルは参照し!イメージ説明設定を行っています。こうしておくことで、HTMLとして出力したくないファイルにはアンダーバーをつければよくなります ["app/ejs/**/*.ejs",'!' + "app/ejs/**/_*.ejs"] ) //(2).pipe(ejs({}, {ext: '.html'}))に変更することで、.htmlファイルが生成されるようになった。 .pipe(ejs({}, {ext: '.html'})) //(1)EJSファイルをHTMLに変換/出力する先のディレクトリ名を入れます。 .pipe(gulp.dest("app/public")) }); ``` ディレクトリ構成はこちらです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/f2107d208554f854f1b73a5ac4b5b8ca.png)
回答: ただコードを眺めていて思っただけなのですが、 > > // gulp.watch(['app/ejs/common/*.ejs', '!node_modules'], ['html']); > > // gulp.watch(['app/ejs/*.ejs', '!node_modules'], ['html']); > > > コメントアウトしているこの行を復活させてタスク名を ejs にしても動かないのでしょうか? ``` gulp.watch(['app/ejs/common/*.ejs', '!node_modules'], ['ejs']); gulp.watch(['app/ejs/*.ejs', '!node_modules'], ['ejs']); ```