如何使用xterm.js与流星
问题描述:
我想用户xterm.js在我的流星应用程序,我不能让它工作,因为我得到了Terminal is not defined
。如何使用xterm.js与流星
我用的xterm这样在我的客户的main.html中:
<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 \033[1;3;31mxterm.js\033[0m $ ')
</script>
而且xterm的,是因为进口的,如果我走在终端一看,我可以看到:
已有人使用流星的xterm.js可以让我走上正轨?
答
它不会以这种方式工作。您需要导入的文件在你的client/main.js
文件后使用其功能:
客户端/ main.js:
import '../imports/ui/xterm.js';
Meteor.startup(() => {
var term = new Terminal();
term.open(document.getElementById('#terminal'));
term.write('Hello from \033[1;3;31mxterm.js\033[0m $ ')
});
记住要拆下两个脚本标签中main.html
文件。
更新:如果它仍然无法正常工作,然后让xterm.js
文件移动到client/compatibility/xterm.js
并删除import
声明在上面的代码。
答
这不会流星这里回答这个问题!但是对于那些来到这里工作的人来说,这是一个添加了一个Electron应用程序或不支持ES6导入语句的工作流的补充。版本8和早期版本9的节点不支持ES6导入语句!如果你处于这种情况!在这里你应该如何导入它:
//importing xterm (because node don't support import {Terminal} from 'xterm';)
const xterm = require('xterm');
var Terminal = xterm.Terminal;
它分两步走!你需要第一个xterm。那么你会得到一个Terminal类的引用。
希望它有帮助!
当我这样做,我不能看到xterm.js在开发者控制台,我仍然得到了同样的错误 – Jerome
的'xterm.js'文件,你怎么弄的?你能确定它在浏览器上工作吗?也许让试试把它添加到一个静态html文件,看它是否工作 – Khang
如果我做localhost/js/xterm.js,该文件显示在我的浏览器上。 (是的,我移动了xterm.js,但我也是这样做的)。 我做回购的副本,并在我的项目 – Jerome