前置准备
学ts的时候跟着教程做法如下:
- npm init
- 安装ts
- tsc init 生成tsconfig.json
- 编写hello.ts并编译成功, 但是修改tsconfig.json里的
target
并没有达到预期效果
问题
./tsconfig.json
{
"compilerOptions": {
"target": "es2019", //将默认的es5改为了es2019, 唯一修改的地方
"module": "commonjs",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
}
}
hello.ts
function Hello(person: string){
return `Hello ${person}`;
}
const user= "sdfsdf";
console.log(Hello(user));
编译成的hello.js
function Hello(person) {
return "Hello " + person; //并没有编译成`Hello ${person}` 还是es5语法
}
var user = "sdfsdf";
console.log(Hello(user));
但是使用tsc ./hello.ts -t es2019 确能达到效果
tsc -p ./tsconfig.json 也试过了, 没效果, 看教程不是说tsc是从当前目录找tsconfig.json的吗?
把你的target和module都设置成 esnext 就可以了,重新编译就是你想要的结果