當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。