Nodejs Pkg -如何使用外部Config文件?

31moq8wy  于 2023-08-04  发布在  Node.js
关注(0)|答案(2)|浏览(207)

我在尝试正确使用pkg(nodejs模块)时遇到问题。
我正在做一个独立的文件管理器(好吧,它会交换视频/音频文件到和从预选目录,旨在允许它没有任何互联网连接它自己删除和添加文件到一个同步文件夹,如onedrive/dropbox/googledrive/等。使用文本文件。)
我遇到的问题是,在我把它打包成二进制文件后,我感到不知所措。我不明白如何允许/强制它在编译的二进制文件之外创建/读取文本文件。--我希望它和可执行文件在同一个文件夹中。
我试图找到一种方法来存储数据,而不必共享源代码,或要求节点安装在其他机器上。--我打算有一个尽可能小的权限,和外部阅读/写配置& '数据库' [这只是一个文本文件与什么文件在本地存储,和什么文件是&不是在远程存储]
我错过了什么关于pkg,如果它可以在内部存储数据一些如何...如何让它读取外部文件?--尽管我非常希望txt文件在二进制文件之外&以易于阅读的纯文本形式存在。
作为一个附带的问题,我不明白如何传递一个参数&在程序编译后在程序内部使用它。【见鬼,我现在好不容易才理解了pkg模块的自述】

6ojccjat

6ojccjat1#

使用process.cwd()获取express应用程序或pkg.exe的当前工作目录,然后您可以在运行时从文件系统加载配置文件。

const configPath = process.cwd() + '/config.json';  // loads config.json from the same directory as your .exe
const configData = JSON.parse(fs.readFileSync(configPath, 'utf8'));

字符串

yhuiod9q

yhuiod9q2#

使用fs特性加载config对象,如下面三行代码所示

filename="./config.json";
let rawdata = fs.readFileSync(filename);
let config = JSON.parse(rawdata);

字符串
config.json必须在pkg可执行文件的同一目录中
如果您需要更改config.json的路径,您可以使用命令行参数指定此文件的完整路径。这些可以在运行时使用process.argv变量读取,如here所解释的

相关问题