美文网首页
路径动态拼接 path模块的方法

路径动态拼接 path模块的方法

作者: 圆滚滚大煤球 | 来源:发表于2021-11-12 14:54 被阅读0次
    路径动态拼接的问题

    powershell中往上一层:cd ../,执行相对路径,出现了读取失败的情况

    相对路径

    修改为绝对路径:'F:\前端\Node.js基础\files\1.txt'


    绝对路径

    绝对路径容易出错,最好采用路径拼接,__dirname代表当前文件所处的目录

    JS

    const fs = require('fs')
    
    // 出现路径拼接错误的问题,是因为出现了./或者../开头的相对路径
    // './1.text':相对路径
    fs.readFile('./1.txt','utf8',function(err,dataStr){
            if(err){
                return console.log('读取失败!' + err);
            } console.log('读取成功' + dataStr);
        
            // __dirname 代表当前(路径拼接.js)文件所处的目录
            console.log(__dirname);
        })
    
    
    
    // 如果要解决这个问题,可以直接提供一个完整的存放路径;
    // 绝对路径:'F:\\前端\\Node.js基础\\files\\1.txt'
        fs.readFile('F:\\前端\\Node.js基础\\files\\1.txt','utf8',function(err,dataStr){
        if(err){
            return console.log('读取失败!' + err);
        } console.log('读取成功' + dataStr);
    
    
    })
    
    
    // 路径拼接
    // 绝对路径的移植性非常差,容易写错不易于维护;
    // __dirname 代表当前(路径拼接.js)文件所处的目录
        fs.readFile(__dirname + '/1.txt','utf8',function(err,dataStr){
            if(err){
                return console.log('读取失败!' + err);
            } 
            console.log('读取成功' + dataStr);
            console.log(__dirname);
        })
    
    

    path.basename():获取路径的文件名
    path.extname():获取路径的文件名的后缀名

    JS

    const fs = require('fs');
    const path = require('path');
    
    // 定义文件的存放路径
    const fpath = 'F:/前端/Node.js基础/files/1.txt';
    
    const fullName = path.basename(fpath);
    console.log(fullName);//1.txt
    
     
    // 只拿到文件名称,不要后缀名
    const nameWithoutExt = path.basename(fpath,'.txt')
    console.log(nameWithoutExt);//1
    
    // 只要后缀名,扩展名,不要文件名称
    const fext = path.extname(fpath)
    console.log(fext);//.txt
    

    相关文章

      网友评论

          本文标题:路径动态拼接 path模块的方法

          本文链接:https://www.haomeiwen.com/subject/qifozltx.html