【问题标题】:Gulp 4 TypeScript Compilation ErrorsGulp 4 TypeScript 编译错误
【发布时间】:2016-03-24 21:48:45
【问题描述】:

我正在使用 Gulp 4 并将 Typescript 编译为 javascript。为此,我正在使用 gulp-typescript 插件。虽然它确实编译了我在编译时收到了一堆错误:

错误:

[17:43:02] Using gulpfile ~/Sites/dmfa/gulpfile.js
[17:43:02] Starting 'typescript'...
[17:43:02] Starting 'clean-typescript'...
[17:43:02] Cleaning: ./web/js/**/*.js
[17:43:02] Finished 'clean-typescript' after 21 ms
[17:43:02] Starting '<anonymous>'...
[17:43:02] Compiling TypeScript --> JavaScript
error TS2304: Cannot find name 'Promise'.
error TS2304: Cannot find name 'Map'.
error TS2304: Cannot find name 'MapConstructor'.
error TS2304: Cannot find name 'SetConstructor'.
error TS2304: Cannot find name 'Set'.
error TS2304: Cannot find name 'Iterator'.
[17:43:03] TypeScript: 76 semantic errors
[17:43:03] TypeScript: emit succeeded (with errors)
[17:43:03] Finished '<anonymous>' after 1.75 s
[17:43:03] Finished 'typescript' after 1.77 s

Process finished with exit code 0

虽然这仍然会编译真正的错误,但可能会被忽略,纠正错误会让我更高兴。

谁能告诉我为什么会发生这些错误。

【问题讨论】:

    标签: javascript typescript gulp build-automation


    【解决方案1】:

    看起来您的目标是 ES5/ES3 并使用仅在编译目标为 ES6 时才支持的打字稿功能。要解决此问题,您可以尝试在 gulp-typescript 中明确提供 'target' 选项为 ES6,或者如果您正在向其提供 tsconfig - 请确保在其中设置目标 ES6。

    【讨论】:

    • @Amind 它对我的最终结果有何影响。不是所有的浏览器都支持 ES6,那会不会导致不支持的浏览器出错?
    • 是的。您将需要使用 polyfill 来填充缺失的功能。例如,对于 Promise,您可以使用 es6-promise。但我不确定您是否能够以这种方式共同涵盖所有功能。您也可以使用 babel 等从 es6 转换为 es5,但我并不认为它会完全覆盖。
    【解决方案2】:

    以防万一有人想知道这里是什么为我解决了所有问题。我在 main.js 文件(引导文件)的顶部添加了以下内容。在这里找到这个:Angular 2 typescript can't find names

    ///<reference path="node_modules/angular2/typings/browser.d.ts"/>
    

    文件 main.ts 文件如下所示:

    ///<reference path="../../../node_modules/angular2/typings/browser.d.ts"/>
    import {bootstrap} from 'angular2/platform/browser';
    import {AppComponent} from './app.component';
    
    bootstrap(AppComponent)
        .catch(err => console.error(err));
    

    只需确保该路径是您的 node_modules 文件夹的正确路径,因为我的打字稿嵌套在我的项目中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多