Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用gulp typescript更改的gulp_Typescript_Gulp_Gulp Changed - Fatal编程技术网

如何使用gulp typescript更改的gulp

如何使用gulp typescript更改的gulp,typescript,gulp,gulp-changed,Typescript,Gulp,Gulp Changed,我正在集成gulp changed,以防止在更改时将所有文件记录到控制台。这适用于我的HTML文件,但我也使用GulpTypeScript将我的typescript文件转换为JavaScript 我使用Dan Wahlin建议的TypeScript工作流 因此,我将gulp实现为gulp类型脚本,如下所示: var res = gulp.src(config.src) .pipe($.sourcemaps.init()) .pipe($.changed(confi

我正在集成gulp changed,以防止在更改时将所有文件记录到控制台。这适用于我的HTML文件,但我也使用GulpTypeScript将我的typescript文件转换为JavaScript

我使用Dan Wahlin建议的TypeScript工作流

因此,我将gulp实现为gulp类型脚本,如下所示:

var res = gulp.src(config.src)
        .pipe($.sourcemaps.init())
        .pipe($.changed(config.dest)) // <-- THIS LINE IS WHAT I ADDED
        .pipe($.typescript({
            target: config.options.target,
            module: config.options.module,
            removeComments: true
        }));

    res.dts.pipe(gulp.dest(config.dest));

    return res.js
        .pipe($.sourcemaps.write('.'))
        .pipe(gulp.dest(config.dest));
不过,当我更改单个文件时,所有文件都会被记录下来。 我甚至尝试将上面提到的行
.pipe($.changed(config.dest))
移到
.pipe($.sourcemaps.write('.'))
行之前

再说一次,运气不好


有人知道如何解决这个问题吗?

您的输入文件的扩展名与输出文件的扩展名不同。您需要使用启用
gulp changed
来查找要与之进行比较的正确文件:

.pipe($.changed(config.dest, {extension: '.js'}))
.pipe($.changed(config.dest, {extension: '.js'}))