gulp ejs で The following tasks did not complete ejs が出たときの対処法

gulp ejs ジョブで以下のエラーメッセージに遭遇することがあります。

    [21:04:35] The following tasks did not complete: ejs
    [21:04:35] Did you forget to signal async completion?

処理の末端まで実行されたのに、終了したと検知されないことが原因です。

対処方法

明示的に終了を宣言します。

具体的には、コールバック関数を実行します。

    var gulp = require('gulp');
    var ejs = require('gulp-ejs');
    var rename = require('gulp-rename');
    var outdir = "../public/"
    
    gulp.task('ejs', function(cb) {
        gulp.src(
            [
                '../ejs/*.ejs' //入力ソースパターン&path
                ,'!' + "../../ejs/_*.ejs" //入力除外ソースパターン&path
            ]
        )
            .pipe(ejs())
            .pipe(rename({extname: '.html'})) //出力ファイル名パターン
            .pipe(gulp.dest(outdir)); //出力path
    
            cb();
    
    });

このように、

    gulp.task('ejs', function(cb) {

cb()というコールバックを引数にとってタスクを定義します。

タスクの最後で、

    cb();

コールバックを実行します。

こうすることで、

    [21:06:50] Starting 'ejs'...
    [21:06:50] Finished 'ejs' after 28 ms

ちゃんと終了してくれます。

速攻でメモできる QuickNote リリースしました!

QuickNoteは動作が超軽量でサクサクかけるノートアプリです。一瞬の閃きを逃さずにノートを開き書き始めることができます。 アカウント登録も不要です。お試しあれ!

Excel操作をコマンドで! proBoarderExcel

Excelはマウスで操作するのが基本ですが、マウス操作に疲れてはいませんか? キーボードでExcel操作ができるようになるアプリです。オープンソースで無料です。

積み上げ! Daily Stack リリースしました!

Daily Stack は日々の積み上げを管理するToDoアプリです。過去の積み上げの振り返りだけでなく、ツイート機能もあります。 アカウント登録不要ですぐに使い始めることができます。

ExecNote.app リリースしました!

ExecNoteは、コードが実行できるMarkdownアプリケーションです。Markdownドキュメント内に記載したコードをクリックすると実行ができます。わざわざターミナルを 起動させる必要がありません!無料ですのでもしよければダウンロードをお願いします。

About Me

11年目のシステムエンジニアです。アプリで生活や仕事を改善したい🐱仕事効率化、自動化のアプリ開発が得意です、ご相談ください。 🚀エンタメ系アプリの開発も模索中🐬社内SEや個人アプリ開発者、システムエンジニアになりたい人と繋がりたい🐱