javascript 如何从中读取或复制资产,用vercel/pkg打包的exe?

qgelzfjb  于 2023-04-28  发布在  Java
关注(0)|答案(1)|浏览(115)

我有一个pkg-打包的.exe,我需要从中复制文件-我知道这可能是不可能的-但肯定有某种方法可以将资产文件导出,对吗?
在我将以下内容添加到package.json之后,我非常确信这些资产已包含在pkg中:

"pkg": {
    "assets": [
      "assets/**/*"
    ]
  },

--config package.jsonpkg命令。
但是,似乎没有任何方法可以从可执行文件中获取文件,除了,我猜,将文件存储为字符串,然后将它们写入磁盘(对我来说,这似乎是疯狂的。)
有什么更好的方法让我忽略吗?我猜Node的fs命令不能以任何方式读入.exe,但希望.exe应该能够以某种方式在某处写出文件?*
有人知道怎么做吗?

**TLDR:**我希望读取或理想情况下复制.exe中的资产

Vercel/pkg过去被称为Zeit/pkg

inb24sb2

inb24sb21#

我可以用这样的代码来实现它:

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是虚拟的,因此永远不会与真实的的文件系统发生冲突。

相关问题