如何在 Meteor 中使用 xterm.js

How to use xterm.js with Meteor

我正在尝试在我的 Meteor 应用程序中使用 xterm.js,但我无法使用它,因为我得到了 Terminal is not defined

我在客户的 main.html:

中使用这样的 xterm
<script src="../imports/ui/xterm.js"></script>
        <div id="terminal"></div>
             <script>
               var term = new Terminal();
               term.open(document.getElementById('#terminal'));
               term.write('Hello from 3[1;3;31mxterm.js3[0m $ ')
             </script>

并且导入了 xterm,因为如果我在终端中查看,我可以看到:

有人已经将 xterm.js 与 Meteor 一起使用,可以让我走上正轨吗?

这样不行。您需要在您的 client/main.js 文件中导入该文件并在之后使用其功能:

client/main.js:

import '../imports/ui/xterm.js';

Meteor.startup(() => {
  var term = new Terminal();
  term.open(document.getElementById('#terminal'));
  term.write('Hello from 3[1;3;31mxterm.js3[0m $ ')
});

记得删除 main.html 文件中的两个脚本标签。

更新:如果还是不行,那就让xterm.js文件移动到client/compatibility/xterm.js,去掉import里面的语句上面的代码。

这里没有用 meteor 回答问题!但对于那些来到这里使用 Electron 应用程序或不支持 ES6 导入语句的工作流程的人来说,这是一个补充。 Node 版本 8 和早期版本 9 还不支持 ES6 import 语句!如果你遇到这样的情况!在这里你应该如何导入它:

//importing xterm (because node don't support import {Terminal} from 'xterm';)
const xterm = require('xterm');
var Terminal = xterm.Terminal;

分两步进行!你需要第一个 xterm。然后您将获得对终端 class.

的引用

希望对您有所帮助!