版本

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 表达式的使用。

此规则的错误代码示例

在 Playground 中打开
/*eslint no-new-require: "error"*/

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

此规则的正确代码示例

在 Playground 中打开
/*eslint no-new-require: "error"*/

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

何时不使用它

如果您正在使用 require 的自定义实现,并且您的代码永远不会在期望标准 require(CommonJS、Node.js、AMD)的项目中使用,您可以安全地关闭此规则。

版本

此规则在 ESLint v0.6.0 中引入。

资源

更改语言