我有一个名为 run.bat 的文件,应该编译一个TypeScript文件,然后在Node.js中运行输出的JavaScript文件:
tsc
node index.js
问题在于TypeScript编译器在完成编译后会退出批处理脚本,因此命令node index.js
永远不会执行。
如何确保执行tsc
之后的命令?
我尝试查看compiler options,但是找不到任何选项来阻止TypeScript编译器退出批处理脚本。
答案 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