2016-06-27 2 views
2

Я разрабатываю Angular2/Машинопись приложение в VisualStudio и хотел создать свой собственный TS компилятор, но всякий раз, когда я запускаю его, и он находит ошибку не получить подробную информацию о них только это:Как сделать ошибки gulp-typescript show?

[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" 
    ] 
} 

Был бы благодарен за любые идеи ,

+0

Правильно ли он показывает ошибки при запуске из командной строки nodejs? Если да, то посмотрите: http://stackoverflow.com/a/37971172/40783 –

ответ

1

Update

Похоже, это известная ошибка, найдено here.

Оригинал

Я предложил бы использовать gulp-debug пакет, он позволяет .pipe в ваши задачи и стандартный вывод.

Debug винилового файл потоки, чтобы увидеть, какие файлы запускаются через глоток трубопровод

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')); 
}) 

Вам необходимо добавить его в список из devDependencies в вашем package.json, так что npm установит его.

+1

Спасибо за ответ. Это показывает мне, какие файлы обрабатываются (все мои файлы .ts). Как это приближает меня к поиску семантической ошибки? –

+0

Кажется, что вы уже используете 'fullreporter', который должен предоставить вам сообщения об ошибках, которые вы ищете. Если нет, то возможно, что никаких дополнительных сообщений об ошибках нет. –

0

Я столкнулся с подобной проблемой. Удаление "noEmit": true, из моего файла tsconfig.json решило его.

Попробуйте удалить "noEmitOnError": true с вашего сервера или установите его в false.

Смежные вопросы