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 = ;
此規則的正確程式碼範例
在遊樂場中開啟
/*eslint no-new-require: "error"*/
var AppHeader = require('app-header');
var appHeader = new AppHeader();
何時不使用它
如果您使用的是 require
的自訂實作,並且您的程式碼永遠不會在預期標準 require
(CommonJS、Node.js、AMD) 的專案中使用,您可以安全地關閉此規則。
版本
此規則是在 ESLint v0.6.0 中引入的。