使用 gulp-typescript 设置 typescript 会导致多个错误

Setting up typescript using gulp-typescript results in multiple errors

你好,我正在尝试配置 gulp 来编译我的打字稿文件,这是我目前所拥有的:

const gulp = require('gulp');
const del = require('del');
const typescript = require('gulp-typescript');
const tscConfig = require('./tsconfig.json');
const util = require('gulp-util');

var paths = {
   npmSrc: "./node_modules/",
   libTarget: "./wwwroot/lib/",
   appTarget: "./wwwroot/app/"
}

gulp.task('tsBuild', function () {

    return gulp.src('App/**/*.ts')
        .pipe(typescript(tscConfig))
        .pipe(gulp.dest(paths.appTarget));
}

我的 tsConfig 如下所示:

    {
  "compilerOptions": {
    "outDir": "./wwwroot/app/",
    "target": "es5",
    "module": "system",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]
}

这是我收到的错误消息:

App\bootstrap.ts(1,25): error TS2307: Cannot find module 'angular2/platform/browser'.

App\template\template.component.ts(1,1): error TS1148: Cannot compile modules unless the '--module' flag is provided with a valid module type. Consider setting the 'module' compiler option in a 'tsconfig.json' file.

App\template\template.component.ts(1,25): error TS2307: Cannot find module 'angular2/core'. App\template\template.component.ts(8,14):

错误 TS1219:对装饰器的实验性支持是一项功能 可能会在未来的版本中发生变化。设置 'experimentalDecorators' 删除此警告的选项。

感觉好像它没有读取 tsconfig file.My 文件最终编译正确。

。有人知道我做错了什么吗?

尝试:

const tscConfig = require('./tsconfig.json').compilerOptions;

下面是 gulp 应该可以正常工作的任务:

const typescript = require('gulp-typescript');   

gulp.task('tsBuild', function () 
{
    var tsProject = typescript.createProject('tsconfig.json');

    var tsResult = tsProject.src()
        .pipe(typescript(tsProject));  

    return tsResult.js.pipe(gulp.dest(paths.appTarget));
});

在 tsconfig 中排除不必要的文件总是比显式指定所有必需的文件更容易。