typescript - 如何让 gulp-typescript 显示错误?

标签 typescript angular gulp gulp-typescript

我正在 VisualStudio 中开发 Angular2/Typescript 应用程序,并想设置我自己的 ts 编译器,但每当我运行它并发现错误时,我无法获得有关它们的详细信息:

[16:22:23] Starting 'compile:typescript'...
[16:22:26] TypeScript: 1 semantic error
[16:22:26] TypeScript: emit failed
[16:22:26] Finished 'compile:typescript' after 3.14 s

我的 gulpfile.js 有点大,但相关部分在这里:

var gulp = require('gulp');
var del = require('del');
var ts = require("gulp-typescript");
var gutil = require("gulp-util");
var watchifiy = require('watchify');
var sourcemaps = require('gulp-sourcemaps');

// --------------------------  COMPILE TS ---------------------------
gulp.task('compile:typescript', function () {
    var tsResult = gulp.src('./Scripts/**/*.ts', { base: './Scripts' })
        .pipe(sourcemaps.init())
        .pipe(ts(
                ts.createProject('Scripts/tsconfig.json'),
                undefined,
                ts.reporter.fullReporter()));

    return tsResult.js
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./Scripts'));
})

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "noEmitOnError": true
  },
  "exclude": [
    "node_modules",
    "typings/globals",
    "typings/index.d.ts"
  ]
}

如有任何想法,我们将不胜感激。

最佳答案

更新

看起来这是一个已知的错误,已找到 here .

原创

我建议使用 gulp-debug包,它允许您 .pipe 进入您的任务并捕获标准输出。

Debug vinyl file streams to see what files are run through your gulp pipeline

gulpfile.js

var debug = require("gulp-debug");
gulp.task('compile:typescript', function () {
    var tsResult = gulp.src('./Scripts/**/*.ts', { base: './Scripts' })
        .pipe(sourcemaps.init())
        .pipe(debug()) // here...
        .pipe(ts(
                ts.createProject('Scripts/tsconfig.json'),
                undefined,
                ts.reporter.fullReporter()));

    return tsResult.js
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./Scripts'));
})

您需要将它添加到 package.json 中的 devDependencies 列表中,这样 npm 就会安装它。

关于typescript - 如何让 gulp-typescript 显示错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38056843/

相关文章:

javascript - 如何在 native react 中有条件地渲染警报组件

typescript - 类型 'CanvasRenderingContext2D | WebGLRenderingContext' 不可分配给类型 'CanvasRenderingContext2D'

node.js - 我可以在模块外使用 NestJS Config Service 吗?

javascript - 如何在 Angular 9 中使用 print.js 打印多个 PDF

javascript - Gulp - 基本 concat/minify 不输出文件

javascript - Gulp browserSync 不会自动重新加载

javascript - 将代理中间件与 gulp connect 一起使用

javascript - 类型 'Element' 的参数不可分配给类型为“ReactElement<any>”的参数

angular - 网络插件在 PWA 应用程序 Ionic 4 上不起作用

javascript - Angular 一个项目有 2 种不同的配置