2016-09-07 17 views
5

gibi nesneler üzerinde hataların vurgulanması Merhaba WebStorm 2016.2.2 kullanırken, "lib" özelliğini tsconfig numaralı telefondan desteklerken sorunlar yaşıyorum."Object.assign" ve "Promise <any>"

Ben IDE tercihlerinde typescript sürümü (Preferences -> Languages & Frameworks -> TypeScript) düzenleyerek ve küresel yüklenmiş typescript 2.0 sürümüne işaret denedim, ama yine de Object.assign ve Promise<any> gibi şeylere hata vurgulayarak alıyorum.

IDE'yi birden çok kez yeniden başlattım ve hiçbir şey değişmiyor gibi görünüyor, bunun nasıl düzeltileceği veya hata ayıklanacağı konusunda herhangi bir fikir var mı?

"target": "es5" 

Yani derleyici Object.assign ve Promise gibi düzenli lib.d.ts değil lib.es6.d.ts ve böylece ES6 özellikleri ile derlemek ve diğerleri eksik:

//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 } 
} 
+0

'"target": "es5" 'olarak belirttiniz, böylece derleyici onu düzenli [lib.d.ts] ile derleyecektir (https://github.com/Microsoft/TypeScript/blob/master/lib/lib .d.ts) ve değil [lib.es6.d.ts] (https://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.ts) ve böylece bu tanımları eksik. Bunu "" hedef "olarak değiştirin:" es6 "' ve iyi olmalı. –

+0

ES6'yı desteklemeyen tarayıcıları hedeflediğinizde, TS'nin kendi başına herhangi bir polifiliz sağlamayacağını unutmayın. – Stijn

+0

@NitzanTomer bunu bir cevap olarak gönderebilir, böylece sizi doğru olarak işaretleyebilirim? teşekkür ederim :) Stijn - yeh, bunlar için core-j kullanıyorum. – exk0730

cevap

5

Belirtilen.

"target": "es6" 

için

Değişim onu ​​ve ince olmalıdır.