打字稿需要目标esnext的承诺声明

时间:2018-06-01 12:21:02

标签: typescript

我们希望以打字稿的形式开始您的项目的一部分,因为我们希望整体转移到TS,但我在配置环境时遇到了问题。

这是我的简单tsconfig.json:

{
    "files": [
        "./player.ts"
    ],
    "compileOnSave": true,
    "compilerOptions": {
        "target": "esnext",
        "module": "commonjs",
        "lib": [
            "dom",
            "es2015",  // Should be redundant
            "es2016",  // Should be redundant
            "es2017",  // Should be redundant
            "esnext"
        ],
        "strict": true,
        "noUnusedLocals": true,
        "noUnusedParameters": true,
        "types": [],
        "esModuleInterop": true,
        "resolveJsonModule": true,
    }
}

我所拥有的文件没有启用任何ES5功能。好像选项完全被忽略了。

tsconfig.jsonplayer.ts位于同一文件夹级别(认为它不是root用户)。

我正在使用TypeScript v 2.9.1。我以前曾多次使用过TypeScript,但这种情况从未发生过......不知道如何处理它。

1 个答案:

答案 0 :(得分:0)

所以我以某种方式解决了它。我学到的东西很少:

如果编译文件(根文件)不在根文件夹中,则会导致问题。如果你只是运行tsc /inner/file它不会工作,如果你在那里放-p标志,它将再次读取该文件。

这对我来说不是解决方案,因为我使用了webpack(在非根文件夹中),所以我不得不做一些改动:

我使用awesome-typescript-loader,因为它支持TS 2.x

我已将configFileName添加到加载程序选项中。根本不使用TsConfigPathsPlugin。有了这个,我对ES2015的所有错误都消失了。

我现在很少有人无法解决,所以我不得不添加扩展来解决。工作

但是现在我从PHP代码库(resources.ts)编译了一些测试文件,所以我不得不在加载器选项中添加上下文。