Co robi target
w tsconfig.json
oznaczać?
{
"compilerOptions":
{
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"jsx": "react",
"moduleResolution": "classic",
"lib": [ "es2015", "dom", "es2017" ]
}
}
Co robi target
w tsconfig.json
oznaczać?
{
"compilerOptions":
{
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"jsx": "react",
"moduleResolution": "classic",
"lib": [ "es2015", "dom", "es2017" ]
}
}
Odpowiedzi:
Jestem całkiem nowy w Typescript. Co oznacza Target w tsconfig.json?
target
wskazuje, który cel JavaScript powinien być emitowany z danego TypeScript . Przykłady:
target:es5
()=>null
stanie się, function(){return null}
ponieważ ES5 nie ma funkcji strzałkowych.
target:es6
()=>null
stanie się ()=>null
tak, jak ES6 ma funkcje strzałek.
es5
ale interpretuje to destrukturyzację [...arr].map
jako arr.slice().map
, która psuje się dla obiektu podobnego do tablicy, którego nie ma slice
. Kiedy wybieram es6, zaczyna działać w mojej przeglądarce, ale czy będzie działać dla wszystkich?
Target zmienia wersję JavaScript, do której kompilujesz.
Opcje są dostępne pod adresem https://www.typescriptlang.org/docs/handbook/compiler-options.html
W duchu próby lepszego zrozumienia, jak flaga celu zmienia mój kod, skompilowałem kod testowy dla każdej z różnych wersji, aby lepiej zrozumieć różnice.
https://github.com/aizatto/typescript-playground/tree/master/dist/test-async-main
Notuję również, na co powinienem kierować, w zależności od środowiska, na które patrzę