path.join不起作用?
我想从一个path读取,我写了两个不同的代码。第一个代码不起作用,但第二个代码完美地工作。 我不明白差异。 有人可以向我解释发生了什么事吗? 谢谢。 该文件存储在/ 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");
从第一个代码,我得到这个错误:无法find模块… _ tset.csv
如果你console.log生成的path,你会得到这个结果:
第一个代码块:
“模块/configuration/ _test.js”
第二个代码块:
“./modules/config/_test.js”
在第二种情况下,您有一个从当前目录( ./
)开始的相对path。 require
将从当前目录开始寻找模块文件夹。
在第一种情况下,path是绝对path,这意味着require
将从文件系统的根path开始查找modules
文件夹。
我希望你现在明白这个差别。
你真正想在这种情况下使用的是path.resolve
:
var tmpModulePath1 = path.resolve('./', 'modules/',"config/", 'test.js');
检查这个问题的答案,了解.join
和.resolve
之间的区别。
- Sails.js:我可以将一些服务/模型打包为npm,并在Sails.js应用程序中加载npm?
- 用于地理空间操作的Node.js库
- 如何在Node.js实现中更改gRPC的重新连接行为?
- 使用node-orm(在osx 10.6.8下)将node.js应用程序连接到PostgreSQL的问题
- openshift nodejs应用程序502未指定Access-Control-Allow-Origin
- AngularJS:http链调用和NodeJS的问题:在多个http调用中使用variables的问题
- 在Graphicsmagick中合成图像
- 如何找出javascript中Object和Strings的字节大小来分析数据的效率
- 使用MongoDBdevise数据库文档时出现混乱