版本

no-new-require

不允許對 require 呼叫使用 new 運算子

此規則在 ESLint v7.0.0 中已棄用。請使用 eslint-plugin-n 中的對應規則。

require 函式用於包含存在於獨立檔案中的模組,例如

var appHeader = require('app-header');

某些模組會傳回建構函式,這可能會導致程式碼如下

var appHeader = new require('app-header');

不幸的是,這會帶來很高的混淆可能性,因為程式碼作者可能想要寫

var appHeader = new (require('app-header'));

因此,通常最好禁止這種特定的表示式。

規則詳情

此規則旨在消除使用 new require 表示式。

此規則的不正確程式碼範例

在遊樂場中開啟
/*eslint no-new-require: "error"*/

var appHeader = new require('app-header');

此規則的正確程式碼範例

在遊樂場中開啟
/*eslint no-new-require: "error"*/

var AppHeader = require('app-header');
var appHeader = new AppHeader();

何時不使用它

如果您使用的是 require 的自訂實作,並且您的程式碼永遠不會在預期標準 require (CommonJS、Node.js、AMD) 的專案中使用,您可以安全地關閉此規則。

版本

此規則是在 ESLint v0.6.0 中引入的。

資源

變更語言