版本

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 中引入的。

资源

更改语言