路径连接不起作用?



我想从路径读取,我写了两个不同的代码。第一个代码不起作用,但第二个代码可以完美运行。我不明白其中的区别。有人可以向我解释发生了什么吗?谢谢。 该文件存储在/modules/config/中

第一个代码:

var tmpModulePath = path.join('./modules/',"config/");
var moduleConfigInfo = require(tmpModulePath + "_test.js");

第二个代码:

var tmpModulePath = path.join('./modules/',"config/");
var moduleConfigInfo = require("./" + tmpModulePath + "_test.js");

从第一个代码中,我确实收到此错误:找不到模块..._tset.csv

如果控制台.log生成的路径将得到以下结果:

第一个代码块:

"模块/配置/_test.js">

第二个代码块:

"./modules/config/_test.js">

在第二种情况下,您有一个从当前目录 (./( 开始的相对路径。require将从当前目录开始查找模块文件夹。

在第一种情况下,路径是绝对的,这意味着require将从文件系统的根路径开始查找modules文件夹。

我希望你现在明白其中的区别。

在这种情况下,您真正想使用的path.resolve

var tmpModulePath1 = path.resolve('./', 'modules/',"config/", 'test.js');

检查此问题的答案以了解.join.resolve之间的区别。

相关内容

  • 没有找到相关文章

最新更新