我正在 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/