开发者学堂课程【Node.js 入门与实战:__dirname 和__filename并 不是全局的】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8253
__dirname 和__filename 并不是全局的
一、验证_dirname和_filename不是全局的实例
//解决在文件读取中 ./相对路径的问题
//解决:dirname、_filename
//_dirname:表示当前正在执行的js文件所在的目录
//_filename:表示当前正在执行的js文件的完整路径
//console.log(_dirname);
//console.log(_filename);//未用require加载,打开全局Globals查看是否是全局的。
v
ar fs = require(
‘fs’
);
v
ar filename = __dirname + ‘\\’ + ‘hello.txt’;
//此处的 ./相对路径,相对的是执行node命令的路径
//而不是相对于正在执行的js文件来查找hello..txt
f
s readFile(filename,’utf8’,function(err,data){
if(err){
t
hrow err;
}
c
onsole.log(data);
}
);
//当执行node 03-fs.js文件所有代码放进函数中执行,在任何一个模块都可以使用的原因是任何一个模块执行时会把模块中所有代码放在函数中执行。
所以__dirname,__filename并不是全局的,相当于是本地的。
(
function(_dirname,_filename)){
var fs = require(‘fs’);
var filename = _dirname + ‘\\’ + ‘hello.txt’;
fs.readFile(‘./hello.txt’,’utf8’,function(err,data)){
if(err){
throw err;
}
console.log(data);
});
}
)(‘/fdsa/fsa/f/a’,’/fdsafds/f/sfaa.js’);