2

ProjectOpened バインディングで実行する gulp 監視タスク (保存時に TypeScript ファイルをコンパイルする) を取得しようとしていますが、プロジェクトを開いたときに開始されません。

Task Runner Explorer で手動で開始すると、正常に動作します。

ASP.NET Core プロジェクト (RC2) を使用しています。プロジェクトで開かれた gulp タスクを実行するために必要な nuget パッケージまたは設定はありますか?

または、起動しない理由をデバッグする方法はありますか?


パッケージ.json:

{
    "version": "1.0.0",
    "name": "demo-website",
    "private": true,
    "devDependencies": {
        "gulp": "3.9.1",
        "gulp-merge": "0.1.1",
        "gulp-sourcemaps": "1.6.0",
        "gulp-typescript": "2.13.4",
        "jspm": "0.16.34",
        "typescript": "1.8.10",
        "typings": "^1.0.4"
    },
    "dependencies": { },
    "jspm": {
        "directories": {
            "baseURL": "wwwroot"
        },
        "dependencies": {
            "bootstrap": "github:twbs/bootstrap@^3.3.6",
            "css": "github:systemjs/plugin-css@^0.1.21"
        },
        "devDependencies": { }
    }
}

gulpfile.js:

/// <binding BeforeBuild='ts-compile' ProjectOpened='watch-files' />

var gulp = require("gulp"),
    ts = require("gulp-typescript"),
    merge = require("gulp-merge"),
    sourcemaps = require("gulp-sourcemaps");

var webroot = "./wwwroot/";

var paths = {
    tsSource: "./TypeScript/**/*.ts",
    tsOutput: webroot + "compiled/"
};

var tsConfig = ts.createProject("tsconfig.json");

gulp.task("default", function () {
    // place code for your default task here
});

gulp.task("ts-compile", function () {
    return gulp.src([paths.tsSource, "./typings/index.d.ts"])
        .pipe(sourcemaps.init())
        .pipe(ts(tsConfig))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest(paths.tsOutput));
});

gulp.task("watch-files", function () {
    gulp.watch(paths.tsSource, ["ts-compile"]);
});
4

1 に答える 1

1

これは、RC2 (Tooling のプレビュー 1) のツール バグのようです。Preview 2 で修正されるようです。

https://github.com/aspnet/Tooling/issues/516

于 2016-06-09T22:00:29.767 に答える