使用gulp-typescript

时间:2016-03-25 08:57:49

标签: javascript typescript definitelytyped gulp-typescript

我有一个由多个.js文件和一个.ts文件组成的JavaScript应用程序。我使用最新版本的TypeScript及其allowJs标志。我想使用gulp任务编译我的应用程序,但我一直收到这些错误:

x:/XXX/typings/main/ambient/angular/index.d.ts(65,35): error TS2304: Cannot find name 'Element'.
x:/XXX/typings/main/ambient/angular/index.d.ts(65,50): error TS2304: Cannot find name 'Document'.

这是我的typings.json:

{
  "ambientDependencies": {
    "angular": "registry:dt/angular#1.5.0+20160318102130",
    "d3": "registry:dt/d3#0.0.0+20160317120654",
    "jquery": "registry:dt/jquery#1.10.0+20160316155526"
  }
}

我的tsconfig.json:

{
  "compilerOptions": {
        "allowJs":true,
        "noLib": false,
        "target":"ES5"
  }
}

我的gulpfile摘录

var tsProject = plugins.typescript.createProject('tsconfig.json');
var pathsSrc = {
        ts: [ "typings/main.d.ts", 'client/app/**/*.js', 'client/app/**/*.ts', '!**/nameOfMyOnlyTsFile.js']}

function ts() {
        return gulp.src(pathsSrc.ts)
            .pipe(plugins.typescript(tsProject))
            .pipe(plugins.concat('xxxxxx.js'))
            .pipe(gulp.dest(pathsDest.js));
    }
 function tsWithNotification() {
        return ts()
            .pipe(plugins.notify({
                title:"Gulp TS",
                message: "TS copied successfully.",
                onLast: true
            }));
    }

gulp.task('ts', tsWithNotification);

1 个答案:

答案 0 :(得分:0)

最后我针对ES6,但是我遇到了一些新错误。

error TS2318: Cannot find global type 'Iterable'.
error TS2318: Cannot find global type 'IterableIterator'.
error TS2318: Cannot find global type 'Iterator'.
error TS2318: Cannot find global type 'Symbol'.
error TS2468: Cannot find global value 'Symbol'.

放弃这一刻,我稍后会上课......