# no-new-require

此规则在 ESLint v7.0.0 中已弃用。请使用 eslint-plugin-node 中的相应规则。

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)的项目中使用,您可以安全地关闭此规则。

Last Updated: 5/13/2023, 8:55:38 PM