Typescript 错误TS1316全局模块导出可能仅出现在顶层

Typescript 错误TS1316全局模块导出可能仅出现在顶层,typescript,npm,q,tsc,Typescript,Npm,Q,Tsc,在构建旧的typescript项目时遇到问题。无法构建我将返回的旧项目。尝试构建时,q存在问题。我假设这是我的tsc版本,但我尝试过的每个版本都会导致错误 网上有一些建议将typescript版本改为过去的2.2版本,因为它处理打字的方式不同,但没有任何进展 我已经提供了错误信息和版本。还有我的tsconfig.json。如果你需要更多信息,请告诉我 错误($tsc-v 2.1.5) 版本 nvm: 1.1.5 npm: 4.1.2 tsc: 2.1.5 node: 7.5.0 $ npm l

在构建旧的typescript项目时遇到问题。无法构建我将返回的旧项目。尝试构建时,q存在问题。我假设这是我的tsc版本,但我尝试过的每个版本都会导致错误

网上有一些建议将typescript版本改为过去的2.2版本,因为它处理打字的方式不同,但没有任何进展

我已经提供了错误信息和版本。还有我的tsconfig.json。如果你需要更多信息,请告诉我

错误($tsc-v 2.1.5)

版本

nvm: 1.1.5
npm: 4.1.2
tsc: 2.1.5
node: 7.5.0

$ npm list --depth=0
+-- @types/q@1.5.1
`-- typescript@2.1.5
tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "module": "amd",
        "outDir": "static/js",
        "sourceMap": true,
        "strictNullChecks": true,
        "noImplicitAny": true
    },
    "files": [
        "typings/index.d.ts",
        "../common/types.d.ts"
    ],
    "include": [
        "src/**/*.ts"
    ]
}
编辑


tsc v2.3.0中列出的错误实际上仍然是2.1.5。我没有全局安装typepscript,所以在运行tsc命令时,它仍然使用2.1.5而不是2.3.0

当声明文件中出现错误时,通常表示声明文件使用的语法在您的TypeScript版本中不可用

在这种情况下,让我们看看报告为错误的行。

64:然后(onFulfill?:。。。
200:然后拒绝(理由?:任何):承诺;
此处报告的错误指向“类型参数”部分中的等号。这表明不支持默认类型参数。由于TS2.3中添加了对的支持,因此这没有任何意义。我的最佳猜测是,您实际上没有为这些错误安装2.3,并且版本已切换


考虑到这一点,其他错误可能是由于旧版本之间的不兼容(你是对的,2.3.0错误与2.1.5相同,因为我在将typescript设置为2.3.0时没有将其作为全局安装。我将tsc设置为2.3.0,删除了打字,并通过@types安装了q。谢谢你的帮助!
{
    "compilerOptions": {
        "target": "es5",
        "module": "amd",
        "outDir": "static/js",
        "sourceMap": true,
        "strictNullChecks": true,
        "noImplicitAny": true
    },
    "files": [
        "typings/index.d.ts",
        "../common/types.d.ts"
    ],
    "include": [
        "src/**/*.ts"
    ]
}