防止TypeScript编译器退出批处理脚本

时间:2020-07-22 10:05:56

标签: typescript batch-file

我有一个名为 run.bat 的文件,应该编译一个TypeScript文件,然后在Node.js中运行输出的JavaScript文件:

tsc
node index.js

问题在于TypeScript编译器在完成编译后会退出批处理脚本,因此命令node index.js永远不会执行。

如何确保执行tsc之后的命令?

我尝试查看compiler options,但是找不到任何选项来阻止TypeScript编译器退出批处理脚本。

1 个答案:

答案 0 :(得分:1)

在Windows上,tsc是批处理文件。默认情况下,当您从批处理文件调用批处理文件时,它永远不会回来。

要调用它并在完成后控制返回到批处理文件,请使用call

call tsc
node index.js

如果您好奇的话,tsc.bat文件的外观如下:

@ECHO off
SETLOCAL
CALL :find_dp0

IF EXIST "%dp0%\node.exe" (
  SET "_prog=%dp0%\node.exe"
) ELSE (
  SET "_prog=node"
  SET PATHEXT=%PATHEXT:;.JS;=;%
)

"%_prog%"  "%dp0%\node_modules\typescript\bin\tsc" %*
ENDLOCAL
EXIT /b %errorlevel%
:find_dp0
SET dp0=%~dp0
EXIT /b