What does target
in tsconfig.json
signify?
{
"compilerOptions":
{
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"jsx": "react",
"moduleResolution": "classic",
"lib": [ "es2015", "dom", "es2017" ]
}
}
What does target
in tsconfig.json
signify?
{
"compilerOptions":
{
"sourceMap": true,
"target": "es5",
"module": "commonjs",
"jsx": "react",
"moduleResolution": "classic",
"lib": [ "es2015", "dom", "es2017" ]
}
}
I am quite new to Typescript. What does Target in tsconfig.json signify?
target
signifies which target of JavaScript should be emitted from the given TypeScript. Examples:
target:es5
()=>null
will become function(){return null}
as ES5 doesn't have arrow functions.
target:es6
()=>null
will become ()=>null
as ES6 has arrow functions.
I also made a quick video on the subject πΉ.
es5
but it interprets destructuring [...arr].map
as arr.slice().map
, which breaks for array-like object that don't have slice
. When I target es6, it starts working in my browser, but will it work for everyone? β
Ginnifer Target changes the JavaScript version you are compiling to.
The options are available at https://www.typescriptlang.org/docs/handbook/compiler-options.html
In the spirit of trying to better understand how the target flag changes my code I compiled some test code to each of the different versions to have a better understanding of the differences.
https://github.com/aizatto/typescript-playground/tree/master/dist/test-async-main
I'm also keeping notes of what I should be targeting depending on what environment I am looking at
If your target is es2017
, that's the latest version with new library references to shared memory and string. Changing your target means changing the libraries with which your code compiles. If you want to keep the target a low version while supporting libraries referenced by higher versions, you may add the required library to the "lib"
in tsconfig.json
.
To know more about the libraries referenced in different versions, see this answer.
© 2022 - 2024 β McMap. All rights reserved.