我读过:
但我仍然不知道它是如何运作的以及它有什么用处。可以 有人请解释它是什么以及什么时候我想使用它?
答案 0 :(得分:13)
allowJs是1.8中新增的选项。 TypeScript编译器 将对.js文件进行快速健全检查以查找语法错误但是 否则直接将它们传递到输出目录。
这在将JavaScript项目迁移到TypeScript时很有用,这样您就不必一次迁移所有内容,而是开始在TypeScript中编写新代码和/或逐个迁移每个文件。您可以在官方网站上找到有关从JavaScript迁移到Typescript的更多信息,其中包含一个名为" Migrating from JavaScript"的教程。
答案 1 :(得分:4)
这有几个用途。我只想进入一个。
USE CASE:您正在为Web浏览器编写应用程序。您想编写ES6并将其转换为ES5。
这是--allowJs
的用例之一。从某种意义上说,除了键入检查代码之外,它将执行TypeScript编译器所做的所有操作。
如果没有--allowJS
,则会产生错误:
var foo = {};
foo.name = "bar";
这是因为类型文字{}
没有属性name
。这是有效的JavaScript - 因此在关闭类型检查时不会使编译器绊倒。
如果你确实想要使用类型检查,你可以将它重构为:
var foo: any = {};
foo.name = "bar";
甚至更好:
var foo = {name: "bar"};