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