Hh_server
hack服务器在幕后工作,以保持你的代码在不断同步的hh_clienttypechecker。但是,服务器hh_server也可以用于某些主要的独立功能。
如果您想查看所有可用的选项hh_server,请参阅帮助hh_server --help。
检查并退出
如果要在不连续运行的常规服务器的开销的情况下键入文件或文件目录hh_client,则可以进行快速和脏的检查hh_server。
hh_server --check <path>
与运行一样hh_client,您必须确保路径的根目录有一个空.hhconfig文件。
指定一个点.来表示检查当前路径。
自动类型注释
hh_server 提供了一种模式,您可以使用Hack文件或Hack文件的项目,并自动向这些文件添加类型注释。
注意:这仅适用于<?hh文件。
hh_server --convert <path to files to convert> <path to top level of project>
很多时候两条路是一样的。但是,这样做只会使您只能转换一个项目的子集。通常,通往项目顶层的路径有.hhconfig。
此过程通过软键类型提示进行注释@。这是因为注释远不完美,我们宁愿在运行时抛出警告而不是致命的。
例如,以下未注释的Hack文件:
<?hh
function foo($x) {
if ($x + 3 < 10) {
return false;
}
return true;
}
function bar($y) {
if ($y) {
return "Hi";
}
return null;
}
可能会转换为:
<?hh
function foo($x): @bool {
if ($x + 3 < 10) {
return false;
}
return true;
}
function bar($y): @?string {
if ($y) {
return "Hi";
}
return null;
}