2017-02-11 5 views
1

J'ai un fichier batch qui appelle un programme de nœud:fichier batch d'appel Node.js - Comment définir ERRORLEVEL à partir du noeud

@echo off 

echo Starting Deploy.js: %date% %time% 
echo CurrentDir: %CD% 

node .deploy/deploy.js 
IF %ERRORLEVEL% NEQ 0 goto error 

echo Finished Deploy.js: %date% %time% 

echo %~n0: Completed %date% %time% 

goto end 

:error 
endlocal 
echo An error has occurred during web site deployment. 
call :exitSetErrorLevel 
call :exitFromFunction 2>nul 

:exitSetErrorLevel 
exit /b 1 

:exitFromFunction 
() 

:end 
endlocal 

Je voudrais être en mesure d'avoir mon programme Node.js être en mesure de l'avoir atteint la condition d'erreur en cas d'échec de l'application. Comment puis-je déclencher cela dans node.js?

J'ai essayé que ma fonction principale renvoie 0 ou 1, mais le réglage ERRORLEVEL n'est pas automatique.

Quelle est la bonne façon de faire cela?

+0

processus ' .exit (666) '? – npocmaka

+0

Essayez-le maintenant, merci! – Doug

+1

@npocmaka Cela a fonctionné, voulez-vous le soumettre comme réponse? – Doug

Répondre

1

Vérifiez node.js documentation à propos de l'objet de processus .Dans votre cas, vous aurez pas besoin d'une fonction de rappel de sorte que vous pouvez simplement utiliser:

process.exit(666); 

où vous pouvez définir votre code de sortie désiré au lieu de 666