我有一个.zip文件,其中包含一些javascript文件。我想要求这些文件并将它们作为普通模块执行,但它们不是文件系统上的实际文件。我可以得到一个表示这些文件中数据的缓冲区,并且我希望能够“要求”它们,而不必将它们写到文件系统中以再次读取它们。我想我可以用eval来做一些偷偷摸摸的事情,但我认为可能还有一些其他问题。
我现在的解决方案是将文件写出并正常需要它们,但是我想避免仅通过从内存中“读取”来解决幂等性和文件系统管理方面的复杂性。而且,该解决方案必须可跨消费者操作系统移植。
我可以控制目标javascript文件导出其内容的方式,但是我想尽可能地贴近惯用javascript。如果将用户导出代码的方式限制为仅一种语法类型(例如,仅“ module.exports ='foo'”或仅“导出默认函数foo(){}”)),则使此操作在表上更加简单。