我尝试在我的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 \033[1;3;31mxterm.js\033[0m $ ')
</script>
有人已经将meterm.js与Meteor一起使用,可以让我走上正轨吗?
答案 0 :(得分:3)
它不会以这种方式工作。您需要在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
语句。
答案 1 :(得分:0)
这不能回答流星的问题!但对于那些在这里工作的电子应用程序或不支持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类的引用。
希望有所帮助!