Vm2: 进一步扩展 require()

创建于 2016-07-15  ·  4评论  ·  资料来源: patriksimek/vm2

我想要一个选项,它是一个函数,它将vm2require作为参数并返回一个应该使用的新函数,而不是vm2require

feature request stale

最有用的评论

有点相关:我正在为用户提交的代码使用自定义文件系统。 有没有一种方法可以手动处理本地需求,例如require('./otherUserSubmittedFile') ,从自定义文件系统中获取文件并将其交给vm2然后沙箱?

更新
非常粗糙,但已经实现了一些自定义/虚拟文件: https :

用法,应该是这样的:

NodeVM.file('/customfs/main.js', {
  require: {
    external: true,
    root: '/customfs/', // restrict local requires to within the custom fs
  },
  customfs: {
    getFileContents: (filename) => /* handle /customfs/ file read */,
    exists: (filename) => /* ... */,
    isDirectory: (filename) => /* ... */
  }
})

所有4条评论

有点相关:我正在为用户提交的代码使用自定义文件系统。 有没有一种方法可以手动处理本地需求,例如require('./otherUserSubmittedFile') ,从自定义文件系统中获取文件并将其交给vm2然后沙箱?

更新
非常粗糙,但已经实现了一些自定义/虚拟文件: https :

用法,应该是这样的:

NodeVM.file('/customfs/main.js', {
  require: {
    external: true,
    root: '/customfs/', // restrict local requires to within the custom fs
  },
  customfs: {
    getFileContents: (filename) => /* handle /customfs/ file read */,
    exists: (filename) => /* ... */,
    isDirectory: (filename) => /* ... */
  }
})

@bartjoyce我需要同样的东西! 您的链接已损坏,您是否将其移动到某个地方?

@callumlocke我从那以后转移到其他项目并停止维护代码。 我写的代码在这里: https :

它落后了 30 次提交,但至少你可以看到我所做的修改。

重要的提交是这个: https :

我对 vm2 进行了其他不在我的仓库中的更改。 如果你也想看这些,请告诉我。

此问题已自动标记为陈旧,因为它最近没有活动。 如果没有进一步的活动发生,它将被关闭。 感谢你的贡献。

此页面是否有帮助?
0 / 5 - 0 等级