微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为简单应用创建相对路径

如何解决为简单应用创建相对路径

index.js

var fs = require('fs');

var obj = JSON.parse(fs.readFileSync('/Users/amelie/Documents/project/config.json','utf8'));

我使用 $pkg index.js 将此文件编译为名为 test-macOS 的应用程序。该应用程序从项目文件夹中名为 config.json 的文件中连续读取数据。

但是,项目文件夹中的 config.json 文件和 test-macOS 文件将被其他用户下载(通过下载项目文件夹)。这将更改应用程序必须读取的文件 config.json 的绝对路径 /Users/amelie/Documents/project/config.json'。有没有办法为所有用户定义一个相同的路径,以便所有下载此项目文件夹的用户都可以使用该应用程序连续读取此文件

我尝试使用相对路径 ./config.JSON 但似乎一旦我编译 index.js 就会出错

/Users/amelie/Documents/project/test-macos ;

exit; internal/fs/utils.js:312 throw err; ^ 

Error: ENOENT: no such file or directory,open './config.JSON 

就像如果 test-macOS 文件和 config.json 不在同一个目录中(但是它们在同一个“项目”文件夹中)

解决方法

在 nodejs 中,您可以使用一个名为 __dirname 的环境变量,它为您提供所在目录的绝对路径。因此,如果您尝试获取 config.json 的路径并且它位于与您的项目相同的目录,它应该类似于 __dirname + "/config.json" (目录名前2个下划线)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。