Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在服务器上运行部分codemirror逻辑_Javascript_Codemirror - Fatal编程技术网

Javascript 在服务器上运行部分codemirror逻辑

Javascript 在服务器上运行部分codemirror逻辑,javascript,codemirror,Javascript,Codemirror,我正在制作一个小而简单的工具,允许多个用户通过node.js和socket.io服务器在同一个基于codemirror的编辑器中编写代码 要在服务器上实现这一点,请执行以下操作: let body = []; socket.on("change", function(op) { if ( op.origin == "+input" || op.origin == "+insert" || op.origin == "paste" || op.origin =

我正在制作一个小而简单的工具,允许多个用户通过node.js和socket.io服务器在同一个基于codemirror的编辑器中编写代码

要在服务器上实现这一点,请执行以下操作:

let body = [];

socket.on("change", function(op) {
  if (
    op.origin == "+input" ||
    op.origin == "+insert" ||
    op.origin == "paste" ||
    op.origin == "+delete" ||
    op.origin == "undo" ||
    op.origin == "redo"
  ) {
    body.push(op);
    socks.forEach(function(sock) {
      if (sock != socket) sock.emit("change", op);
    });
  }
});
然后在客户端:

this.editor = CodeMirror(this.panel.current, config);

Socket.link.on("change", data => {
  this.editor.replaceRange(data.text, data.from, data.to, "ignore");
});

this.editor.on("change", (i, op) => {
  Socket.link.emit("change", op);
});
这允许在客户端之间交换信息,并在编辑器上应用更改,但如果我们将使用编辑器编写例如typescript,则需要编译它。但在服务器端,我们只有codemirror提供的指令数组。有没有一种方法可以像客户端编辑器一样在服务器端组装字符串?然后点击一些按钮,我可以编译汇编的字符串