版本

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() 時,它會發出警告。

此規則的錯誤程式碼範例

在 Playground 中開啟
/*eslint no-process-exit: "error"*/

process.exit(1);
process.exit(0);

此規則的正確程式碼範例

在 Playground 中開啟
/*eslint no-process-exit: "error"*/

Process.exit();
var exit = process.exit;

何時不應使用

Node.js 應用程式的某部分可能負責決定退出時要傳回的正確退出碼。在這種情況下,您應該關閉此規則以允許正確處理退出碼。

版本

此規則在 ESLint v0.4.0 中引入。

資源

變更語言