在诸如`Object.assign`和`Promise <any>`之类的东西上获得错误突出显示

时间:2016-09-07 14:28:29

标签: typescript webstorm

您好,我在使用WebStorm 2016.2.2时在tsconfig支持“lib”属性时遇到问题。

我已经尝试在IDE首选项(Preferences -> Languages & Frameworks -> TypeScript)中编辑TypeScript版本并指向全局安装的TypeScript 2.0版本,但我仍然会在Object.assign之类的内容上出现错误突出显示和Promise<any>

我多次重启IDE,似乎没有任何改变,关于如何修复或调试这个的想法?

//tsconfig.json
{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "sourceMap": true,
    "noEmitHelpers": true,
    "strictNullChecks": false,
    "baseUrl": "./src",
    "paths": {
        "core": ["app/core"],
        "reactive": ["app/reactive"],
        "models": ["app/models"],
        "services": ["app/services"]
    },
    "lib": [
      "dom",
      "es6"
    ],
    "types": [
      "hammerjs",
      "jasmine",
      "node",
      "protractor",
      "selenium-webdriver",
      "source-map",
      "uglify-js",
      "webpack"
    ]
  },
  "exclude": [
    "node_modules",
    "dist"
  ],
  "awesomeTypescriptLoaderOptions": {
    "forkChecker": true,
    "useWebpackText": true
  },
  "compileOnSave": false,
  "buildOnSave": false,
  "atom": { "rewriteTsconfig": false }
}

1 个答案:

答案 0 :(得分:5)

您指定:

"target": "es5"

因此,编译器将使用常规lib.d.ts而不是lib.es6.d.tsES6功能编译它,例如Object.assignPromise,而其他功能则丢失

将其更改为

"target": "es6"

它应该没问题。