Emscripten/NodeJS:使实际文件系统默认可用

Emscripten/NodeJS: Make the actual file-system available by default

我想用 Emscripten 编译一个 CLI 应用程序,并只利用本机文件系统层,以便应用程序可以执行它自己的测试套件。

我知道我可以在程序的 main() 函数中使用适当的 EM_ASM 语句在技术上做到这一点。但是,有没有办法告诉 Emscripten 默认情况下使它可用?我看到了一个 Github 问题,它建议 -s NODERAWFS=1,但它似乎不起作用 - 或者至少,如预期的那样。

据我所知,我可以使用这些选项来使本机文件系统可供程序使用:

我需要根映射的原因是需要将路径传递给程序以允许程序找到它的测试套件。

关于如何使这项工作有任何想法吗?

The source code (settings.js) 关于-s NODERAWFS=1 emcc编译选项的解释:

The File System API will directly use Node.js API without requiring FS.mount(). The initial working directory will be same as process.cwd() instead of VFS root directory.

如果您启用 -s NODERAWFS=1?

,这听起来您可能需要使用 ./ 之类的相对路径而不是工作目录的默认根目录 /

除此之外,settings.js 对 emcc 选项的描述比其官方文档最好。您可能想深入了解它。