我在尝试正确使用 pkg(nodejs 模块)时遇到问题。
我正在做一个独立的文件管理器(嗯,它会在预先选择的目录之间交换视频/音频文件,旨在允许它在没有任何互联网连接的情况下自行删除文件并将文件添加到同步文件夹(如 onedrive/dropbox)/googledrive/etc. 使用文本文件。)
我遇到的问题是,在将其打包成二进制文件后,我不知所措。我不明白如何允许/强制它在编译的二进制文件之外创建/读取文本文件。 -- 我希望它与可执行文件位于同一文件夹中。
我正在尝试找到一种存储数据的方法,而无需共享源代码,或要求在其他计算机上安装 Node 。 -- 我打算拥有尽可能小的权限,并且在读取/写入配置和“数据库”之外[这只是一个文本文件,其中包含本地存储中的文件以及远程存储中的文件和不包含的文件]
关于 pkg,我缺少什么?如果它可以以某种方式在内部存储数据...我如何让它读取外部文件? -- 虽然我非常希望将 txt 文件放在二进制文件之外并以易于阅读的纯文本格式。
作为一个附带问题,我不明白如何在编译后的程序中传递参数并使用它。 [天啊,我真是太费劲了,正确理解 pkg 模块的自述文件]
最佳答案
使用 fs 功能加载配置对象,如这三行代码
filename="./config.json";
let rawdata = fs.readFileSync(filename);
let config = JSON.parse(rawdata);
config.json 必须与 pkg 可执行文件位于同一目录中
如果您需要更改 config.json 的路径,您将能够使用命令行参数指定该文件的完整路径。 这些可以在运行时使用 process.argv 变量读取,如所述 here
关于node.js - Nodejs Pkg - 如何使用外部配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62923586/