• nodejs读取文件时相对路径的正确写法(使用fs模块)


    在开发nodejs中,我们往往需要读取文件或者写入文件,最常用的模块就是fs核心模块。一个最简单的写入文件的代码如下(暂时不考虑回调函数):

    [javascript] view plain copy
     
     print?
    1. fs.readFile("./test.txt", function (error, result) {}  

           该代码的意思就是从当前目录下的test.txt文件中读取数据,然后在result中打印输出。当在我们本地运行该代码应该没什么问题,可以成功执行。但是如果这样的代码在项目中运行,同时把该项目部署到云服务器上时,很有可能会出现bug。 bug的提示就是无法在该目录找到test.txt文件。其实由于运行环境的不同,以上的相对路径的写法导致最后读取的位置是不同的。

           正确的写法应该是使用"path.join()"的方式实现:(__dirname表示当前文件的目录名)

    [javascript] view plain copy
     
     print?
    1. fs.readFile(path.join(__dirname, "./test.txt"), function (error, result) {}  

            这样的实现在不同机子的环境上都能成功运行。

  • 相关阅读:
    git
    Django RestFramework
    vuex以及axios
    npm 、webpack 、 vue-cli
    vue的生命周期
    vue-router
    vue框架 (小清单)
    nodejs review-01
    npm-bluebird使用
    js整理4
  • 原文地址:https://www.cnblogs.com/zzsdream/p/7489589.html
Copyright © 2020-2023  润新知