我试图将我的typescript代码编译成与es2015兼容的javascript,所以我在tsconfig中设置了我的目标。Json到"es2015"。我在我的代码中使用Object.entries
,但我敢肯定,这是在2017年添加的,所以我希望tsc
要么用填充器替换它,要么抱怨它。但是它编译得很好,并保持Object.entries
不变。
我知道typescript正在看到目标,因为它确实取代了??
操作符(当我以es2020为目标时它不会)。但我也希望当我使用不可用的功能时,它要么警告我,要么失败,因为我可能会使用我不知道的其他功能,这些功能在我的目标版本中不可用。当我瞄准es2015时,很难记住和记住哪些功能我可以使用,哪些不能使用。
我还尝试添加"ES2015";lib"看看它是否会忽略新版本,但它什么都没做。当我ctrl -clickObject.entries
去定义它带我到lib.es2017.object.d.ts
。我可以使用任何设置来告诉typescript忽略2015年后的每个lib吗?
如果其他人遇到这个问题,解决方案是从项目中卸载ts-node
。不知道是怎么做到的,但是它只是在node_modules
里面打破了tsc
。