2016-09-07 9 views
5

Witam Mam problemy z obsługą właściwości" lib "w tsconfig podczas korzystania z WebStorm 2016.2.2.Wyróżnianie błędów na takich obiektach jak `Object.assign` i` Promise <any> `

Próbowałem edycji wersję maszynopisu w preferencjach IDE (Preferences -> Languages & Frameworks -> TypeScript) i wskazując na globalnie zainstalowanej wersji maszynopisu 2.0, ale ja wciąż się błąd wyróżniania się na rzeczy jak Object.assign i Promise<any>.

Ponownie uruchomiłem IDE wiele razy, i nic się nie zmieniło, wszelkie pomysły, jak to naprawić lub usunąć błąd?

//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

Podałeś '" target ":" es5 "', więc kompilator skompiluje go ze standardową [lib.d.ts] (https://github.com/Microsoft/TypeScript/blob/master/lib/lib .d.ts), a nie [lib.es6.dts] (https://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.ts), więc brakuje tych definicji. Zmień go na '" target ":" es6 "' i powinno być dobrze. –

+0

Należy zauważyć, że TS nie dostarcza żadnego polyfill samodzielnie, na wypadek, gdy kierujesz reklamy na przeglądarki, które nie obsługują ES6. – Stijn

+0

@NitzanTomer możesz zamieścić to jako odpowiedź, dzięki czemu mogę Cię oznaczyć? dziękuję :) Stijn - yeh, używam core-js dla nich. – exk0730

Odpowiedz

5

Określono:

"target": "es5" 

więc kompilator będzie skompilować go z regularną lib.d.ts a nie cech lib.es6.d.ts i tak ES6 takiego jak Object.assign i Promise i inni brakuje.

Zmień go

"target": "es6" 

i powinno być w porządku.

Powiązane problemy