【问题标题】:How to display code output like mozilla development network using codemirror?如何使用codemirror显示像mozilla开发网络一样的代码输出?
【发布时间】:2023-04-10 05:22:01
【问题描述】:

我正在尝试构建一个像 mdn 这样的浏览器代码执行器

使用代码镜像和角度 6。

我能够从编辑器中获取代码但无法显示结果,例如 mdn ,而是开始在文本区域中显示内容

this._codeMirror.instance$.subscribe((editor) => {
      document.getElementById('output').innerHTML = editor.getValue();
    });

如何显示结果(在本例中为 1,请查看 stackblitz 链接)而不是代码 完整代码在STACKBLITZ

【问题讨论】:

  • 他们 (MDN) 重新定义了console.log 以将结果输出到带有id="output" 的元素中。源代码可用,还有一些格式化实用功能。我不明白你为什么期望输出1 如果该代码只包含函数的定义,而不是在任何地方调用,它甚至不是 IIFE。
  • 我得到了使用monkey patching console.log的解决方案。这里是解决方案stackblitz.com/edit/…

标签: javascript angular codemirror


【解决方案1】:

eval怎么样

document.getElementById('output').innerHTML = eval(editor.getValue());

仍然需要try catch 来捕获 eval 错误,并显示错误消息;

   function test(){
      return 1;
   }

   test()

显示结果1

【讨论】:

猜你喜欢
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 2010-09-18
  • 2021-12-21
  • 2015-11-16
  • 2021-08-16
  • 2015-10-14
  • 1970-01-01
相关资源
最近更新 更多