阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js script.runInThisContext

      Node.js script.runInThisContext([options])

      • 新增于: v0.3.1
      • options < Object>
        • filename < string> 定义供脚本生成的堆栈跟踪信息所使用的文件名
        • lineOffset < number> 定义脚本生成的堆栈跟踪信息所显示的行号偏移
        • columnOffset < number> 定义脚本生成的堆栈跟踪信息所显示的列号偏移
        • displayErrors < boolean> 当值为真的时候,假如在解析代码的时候发生错误Error,引起错误的行将会被加入堆栈跟踪信息
        • timeout < number> 定义在被终止执行之前此code被允许执行的最大毫秒数。假如执行被终止,将会抛出一个错误Error。

      在指定的global对象的上下文中执行vm.Script对象里被编译的代码并返回其结果。被执行的代码虽然无法获取本地作用域,但是能获取global对象。

      以下的例子会编译一段代码,该代码会递增一个global变量。同时该代码被编译后会被多次执行。

      const vm = require('vm');
      
      global.globalVar = 0;
      
      const script = new vm.Script('globalVar += 1', { filename: 'myfile.vm' });
      
      for (let i = 0; i < 1000; ++i) {
        script.runInThisContext();
      }
      
      console.log(globalVar);
      
      // 1000
      

      更多内容请参考:Node.js vm,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录