pkg
打包的 .exe
我需要从中复制文件 - 我知道这可能是不可能的 - 但肯定有某种方法可以将资产文件取出,对吗?
在我将其添加到我的
pkg
中后,我非常有信心这些资产已包含在 package.json
中:
"pkg": {
"assets": [
"assets/**/*"
]
},
和
--config package.json
到我的 pkg
命令。
但是,除了我猜想将文件存储为字符串然后将它们写入磁盘之外,似乎没有任何方法可以从可执行文件中获取文件(在我看来,这似乎很疯狂。)
我有更好的方法来忽略吗?我猜 Node 的
fs
命令无法以任何方式读入 .exe
,但希望 .exe
应该能够以某种方式将文件写出某处?
有谁知道怎么做吗?
TLDR: 我希望从
.exe
中读取或最好复制资产
顺便说一下:Vercel/pkg 曾经被称为 Zeit/pkg
我能够使用这样的代码来实现它:
const isPackaged = process.pkg !== undefined; // process.pkg is only defined when packaged
const root = isPackaged ? 'C:\\snapshot\\your-package-name' : process.cwd();
export const ASSETS_PATH = path.join(root, 'assets');
起初我对尝试这个犹豫不决,因为我认为如果用户已经有这样的目录,C:\snapshot 可能不是一个可靠的路径 - 并且可能会使用其他路径 - 但事实并非如此。 C:\snapshot 是虚拟的,因此永远不会与真实文件系统发生冲突。
澄清一下,我的项目的根目录中的这些文件夹与我的
package.json
处于同一级别