zoukankan      html  css  js  c++  java
  • Node.js读取文件相对路径写法注意

    首先看一下文件的存放结构:

    我们现在希望在上面标记的JS文件里面读取html里面的内容,我们的代码如下:

    var fs=require("fs");
    fs.readFile('test.html',function (err,data) {
        if(err){
            console.log(err);
        }else{
            console.log(data);//打印出的是16进制的内容<Buffer e8 bf 99 e6 98 af e8 bf bd e5 8a a0 e5 86 99 e5 85 a5 61 70 70 65 6e 64 46 69 6c 65 54 65 73 74 2e 74 78 74 e6 96 87 e4 bb b6 e7 9a 84 e5 86 85 e5 ae ... >
            console.log(data.toString());//打印出的是我们正常的文本信息
        }
    })

    最后我们发现,会报读取不到test.html文件的错误(当然,有时候又可以读取到,也就是说什么这种代码书写方式不稳定)

    此时我们应该使用path.join(_dirname,"文件路径");//__dirname表示当前JS文件的目录名,后面的文件路径就是相对“__dirname”而定

    __dirname 总是指向被执行 js 文件的绝对路径,也就是说你在E:web estabc.js中写__dirname那么路径就是E:web est

    var fs=require("fs");
    var path=require("path");
    fs.readFile(path.join(__dirname,'test.html'),function (err,data) {
        if(err){
            console.log(err);
        }else{
            console.log(data);//打印出的是16进制的内容<Buffer e8 bf 99 e6 98 af e8 bf bd e5 8a a0 e5 86 99 e5 85 a5 61 70 70 65 6e 64 46 69 6c 65 54 65 73 74 2e 74 78 74 e6 96 87 e4 bb b6 e7 9a 84 e5 86 85 e5 ae ... >
            console.log(data.toString());//打印出的是我们正常的文本信息
        }
    })
  • 相关阅读:
    关于MySQL错误 2005
    Eclipse如何导入第三方jar包
    Codeforces Round #377 (Div. 2) D. Exams
    18110 Koishi's travel, Satori's travel
    用Java做的类似皇家守卫战的游戏
    Notepad++如何编译、运行Java
    Codeforces Round #341 (Div. 2)--C. Wet Shark and Flowers
    hdu 2120 Ice_cream's world I
    FZU 1851 组合数
    HUST 1599 Multiple
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11306755.html
Copyright © 2011-2022 走看看