vm.compileFunction(code[, params[, options]])


  • code <string> 要编译的函数主体。
  • params <string[]> 一个包含函数所有参数的字符串数组。
  • options <Object>
    • filename <string> 指定此脚本生成的堆栈追踪中使用的文件名。默认值: ''
    • lineOffset <number> 指定此脚本生成的堆栈跟踪中显示的行号偏移。默认值: 0
    • columnOffset <number> 指定此脚本生成的堆栈跟踪中显示的首行列偏移量。默认值: 0
    • cachedData <Buffer> | <TypedArray> | <DataView> 提供一个可选的 BufferTypedArrayDataView,其中包含所提供源码的 V8 代码缓存数据。该数据必须由先前使用相同 codeparams 调用 vm.compileFunction() 生成。
    • produceCachedData <boolean> 指定是否生成新的缓存数据。 默认值: false
    • parsingContext <Object> 指明应在其中编译该函数的 情境化 对象。
    • contextExtensions <Object[]> 一个包含上下文扩展集合(封装当前作用域的对象)的数组,用于在编译时应用。默认值: []
    • importModuleDynamically <Function> | <vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER> 用于指定在调用 import() 时评估此函数期间模块应如何加载。此选项是实验性模块 API 的一部分。我们不建议在生产环境中使用它。有关详细信息,请参阅 在编译 API 中支持动态 import()
  • 返回:<Function>

将给定的代码编译到提供的上下文中(如果未提供上下文,则使用当前上下文),并将其封装在包含指定 params 的函数中返回。

【Compiles the given code into the provided context (if no context is supplied, the current context is used), and returns it wrapped inside a function with the given params.】