当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Script.runInContext方法代码示例

本文整理汇总了TypeScript中vm.Script.runInContext方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Script.runInContext方法的具体用法?TypeScript Script.runInContext怎么用?TypeScript Script.runInContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在vm.Script的用法示例。


在下文中一共展示了Script.runInContext方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: TemplateToData

 public static TemplateToData(template: any) {
   // 数据模板 template 中可能含有攻击代码,例如死循环,所以在沙箱中生成最终数据
   // https://nodejs.org/dist/latest-v7.x/docs/api/vm.html
   const sandbox = { Mock, template, data: {} }
   const script = new vm.Script('data = Mock.mock(template)')
   const context = new vm.createContext(sandbox) // eslint-disable-line new-cap
   try {
     script.runInContext(context, { timeout: 1000 }) // 每次 Mock.mock() 最多执行 1s
     // DONE 2.1 __root__
     let data: any = sandbox.data
     let keys = Object.keys(data)
     if (keys.length === 1 && keys[0] === '__root__') data = data.__root__
     return data
   } catch (err) {
     console.error(err)
     return {}
   }
 }
开发者ID:tonyjt,项目名称:rap2-delos,代码行数:18,代码来源:tree.ts

示例2:

/// vm tests : https://nodejs.org/api/vm.html
////////////////////////////////////////////////////

namespace vm_tests {
    {
        const sandbox = {
            animal: 'cat',
            count: 2
        };

        const context = vm.createContext(sandbox);
        console.log(vm.isContext(context));
        const script = new vm.Script('count += 1; name = "kitty"');

        for (let i = 0; i < 10; ++i) {
            script.runInContext(context);
        }

        console.log(util.inspect(sandbox));

        vm.runInNewContext('count += 1; name = "kitty"', sandbox);
        console.log(util.inspect(sandbox));
    }

    {
        const sandboxes = [{}, {}, {}];

        const script = new vm.Script('globalVar = "set"');

        sandboxes.forEach((sandbox) => {
            script.runInNewContext(sandbox);
开发者ID:Crevil,项目名称:DefinitelyTyped,代码行数:31,代码来源:node-tests.ts

示例3: runScript

 // TS infers the return type to be `any`, since that's what `runInContext`
 // returns.
 runScript(script: Script) {
   if (this.context) {
     return script.runInContext(this.context);
   }
   return null;
 }
开发者ID:Volune,项目名称:jest,代码行数:8,代码来源:index.ts


注:本文中的vm.Script.runInContext方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。