当前位置: 首页 > 面试题库 >

NodeJS访问具有相对路径的文件

岑经纶
2023-03-14
问题内容

这似乎是一个直接的问题。但我无法破解。在helper1.js中,我想访问foobar.json(来自config/dev/

root
  -config
   --dev
    ---foobar.json
  -helpers
   --helper1.js

我无法使它正常工作fs:如何找到父文件夹?

这里的任何帮助将是巨大的。


问题答案:

您可以使用该path模块将所在目录的路径连接helper1.js到的相对路径foobar.json。这将为您提供前往的绝对路径foobar.json

var fs = require('fs');
var path = require('path');

var jsonPath = path.join(__dirname, '..', 'config', 'dev', 'foobar.json');
var jsonString = fs.readFileSync(jsonPath, 'utf8');

假设采用UTF8编码,则此方法应可在Linux,OSX和Windows上使用。



 类似资料:
  • 问题内容: 所以这是我的程序,可以正常工作: 如您所见,我正在使用我要读取的文件的绝对路径: 当我尝试使用相对路径时会出现问题: 我收到一个错误: 文件usnumbers.txt与ScanSum.class文件位于同一目录中: 我该如何解决? 问题答案: 从哪个目录执行该类文件?(这将是相对路径的当前工作目录和基本目录。) 如果仅从eclipse启动应用程序,则项目目录将是工作目录,在这种情况下,

  • 问题内容: 我正在运行Mac OS X环境,习惯于使用〜/提供对当前用户目录的访问。 例如,在我的python脚本中,我只是尝试使用 但是想用 尝试运行此文件或目录时出现错误消息。有任何想法吗? 问题答案: 您需要使用 正在当前工作目录中寻找名为“〜”的目录。 还请注意该函数的文档-特别是,您需要正确设置环境变量以确保进行扩展。在大多数情况下,这不会成为问题,但是如果不进行扩展,那可能就是原因。

  • 问题内容: 在我的 文件系统中, 我的工作目录在这里: C:\ temp \ a \ b \ c \ d 在b \ bb下有文件:tmp.txt C:\ temp \ a \ b \ bb \ tmp.txt 如果要从工作目录转到该文件,请使用以下路径: 如果文件不存在,我想记录完整路径并告诉用户: “文件C:\ temp \ a \ b \ bb \ tmp.txt不存在” 。 我的问题: 我需

  • 我试图在服务器上的web应用程序中读取一个本地文件。在JBoss部署之外测试时,文件路径是正确的。然而,当我将它部署到JBoss时,文件路径改变了JBoss的< code>bin目录。当< code>user.dir系统属性被部署为war时,它会发生变化。 我如何在不使用绝对文件路径的情况下防止这种情况? 我想避免绝对文件路径,因为项目需要在具有不同目录结构的多台机器上复制。

  • 问题内容: 我希望我的Web应用程序使用以下路径登录文件:webapp / logs / 我可以在log4j.properties文件中设置绝对路径,但是生产环境的目录结构将有所不同。有什么办法可以做到吗? 这是我的方法: 这是将日志打印到我的eclipse目录(c:// eclipse)中名为log.log的文件中。我正在使用Tomcat 6。 问题答案: log4j能够扩展系统属性,因此,如果

  • 我有以下代码 不幸的是,这并不奏效。有没有设置相对路径的方法?我该怎么做?