no-path-concat
此规则在 ESLint v7.0.0 中已弃用。请使用 eslint-plugin-node
中的相应规则。
在 Node.js 中,__dirname
和 __filename
全局变量分别包含当前正在执行的脚本文件的目录路径和文件路径。有时,开发人员会尝试使用这些变量来创建其他文件的路径,例如:
var fullPath = __dirname + "/foo.js";
但是,这样做存在一些问题。首先,您无法确定脚本在什么类型的系统上运行。Node.js 可以在任何计算机上运行,包括 Windows,它使用不同的路径分隔符。因此,使用字符串连接并假设 Unix 样式的分隔符来创建无效路径非常容易。也有可能有双重分隔符,或者以无效路径结束。
为了避免混淆如何创建正确的路径,Node.js 提供了 path
模块。该模块使用系统特定的信息来始终返回正确的值。因此,您可以将前面的示例重写为:
var fullPath = path.join(__dirname, "foo.js");
此示例不需要包含分隔符,因为 path.join()
会以最合适的方式执行此操作。或者,您可以使用 path.resolve()
检索完全限定的路径:
var fullPath = path.resolve(__dirname, "foo.js");
2/PhmJlZiLQb4Oz/EgnOUX2ZwgEx7VV0Bi3xoccU7quccQ64D45hfKFzbC/GEgNr59O+eqdqp7fGZGfqJEd2IXGClCnwchsZQa4gaCy6/7ywWzv8xI/o57YV/tjgelzBspdbJSyBJkIE4/7rnZ7U0K5RNzyv1oqvatUpnA+1+LaYFiFdGjLbjba5Bgo7pF4jatP2xYGX6e4fMG8WBROYEA==
规则详情
F5PVK7aChopMvgY+4ds+ggTZVkX4QUkRr1Qms4sXlx32TJ9DTZ9pHNYwxySJwDNr/p4oO1TJcMU7ccpiLygfTw==
Wk+Mu7oFIccqpNSe5orR05ZG/BDV40hHIKzF0SoJnVcuS8r6evQjx3oyoFn9+fZT
/*eslint no-path-concat: "error"*/
var fullPath = __dirname + "/foo.js";
var fullPath = __filename + "/foo.js";
UubGaThNGVSAZCEeqgdAAx/QE1uwW/De5ytjPBnKCKqeOsDZpJS0MvQSJQtY0WPI
/*eslint no-path-concat: "error"*/
var fullPath = dirname + "/foo.js";
何时不使用
GzoMfdFyB54l7VWPzTELkDI5KBfDYTApBi/reG9/PTiVmZ+OKkg7yyxhzEHeN5H/7CbOKNVh4Qah1HBXVZ01LA==