no-process-exit
禁止使用 process.exit()
此規則在 ESLint v7.0.0 中已棄用。請使用 eslint-plugin-n
中的對應規則。
Node.js 中的 process.exit()
方法用於立即停止 Node.js 程式並結束。這是一個危險的操作,因為它可能在任何時間點的任何方法中發生,可能會在發生錯誤時完全停止 Node.js 應用程式。例如:
if (somethingBadHappened) {
console.error("Something bad happened!");
process.exit(1);
}
這段程式碼可能會出現在任何模組中,並且當 somethingBadHappened
為真時,將會停止整個應用程式。這不給應用程式任何響應錯誤的機會。通常最好拋出錯誤,並允許應用程式適當地處理它。
if (somethingBadHappened) {
throw new Error("Something bad happened!");
}
透過以這種方式拋出錯誤,應用程式的其他部分有機會處理錯誤,而不是完全停止應用程式。如果錯誤一直冒泡到進程而未被處理,那麼進程將會退出並返回一個非零的退出碼,因此最終結果是相同的。
如果您僅使用 process.exit()
來指定退出碼,則可以設定 process.exitCode
(在 Node.js 0.11.8 中引入)。
規則詳情
此規則旨在防止在 Node.js JavaScript 中使用 process.exit()
。因此,只要在程式碼中發現 process.exit()
,就會發出警告。
此規則的錯誤程式碼範例
在線上試驗場中開啟
/*eslint no-process-exit: "error"*/
;
;
此規則的正確程式碼範例
在線上試驗場中開啟
/*eslint no-process-exit: "error"*/
Process.exit();
var exit = process.exit;
何時不該使用它
Node.js 應用程式的某個部分可能負責決定退出時要返回的正確退出碼。在這種情況下,您應該關閉此規則,以允許正確處理退出碼。
版本
此規則在 ESLint v0.4.0 中引入。