Просто пытаюсь заставить работать аддон Attach. Основной xterm (4.4.0) работает нормально, но консоль Chrome browser Javascript сообщает «Uncaught TypeError: AttachAddon не конструктор», когда я пытаюсь сослаться на аддон. Веб-сервер golang / echo, и я извлекаю xterm. js и xterm-addon-attach. js из пакетов следующим образом:
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="xterm.css" />
<script src="xterm.js"></script>
<script src="xterm-addon-attach.js"></script>
</head>
<body>
<div id="terminal"></div>
<script>
var term = new window.Terminal();
term.open(document.getElementById('terminal'));
ws = new WebSocket('ws://example.net:8080/ws')
const attachAddon = new AttachAddon(ws);
term.loadAddon(attachAddon);
</script>
</body>
</html>
Может кто-нибудь помочь указать, что я сделал неправильно?
Кроме того, примеры в документах, откуда я это взял, не содержат вызова term.open (), так как же экземпляр Terminal узнает, к какому элементу присоединиться? Например, https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-attach
Большое спасибо заранее
Энди
Обновление:
Я изменил HTML, чтобы включить операторы импорта выглядят следующим образом:
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="xterm.css" />
<script src="xterm.js"></script>
</head>
<body>
<div id="terminal"></div>
<script type="module">
import { AttachAddon } from "./xterm-addon-attach.js";
var term = new window.Terminal();
term.open(document.getElementById('terminal'));
ws = new WebSocket('ws://boundstone.dynamic-dns.net:8080/ws');
const attachAddon = new AttachAddon(ws);
term.loadAddon(attachAddon);
</script>
</body>
</html>
, но консоль Chrome теперь сообщает: «Запрошенный модуль» ./xterm-addon-attach.js »не обеспечивает экспорт с именем« AttachAddon ». «». Веб-сервер обслуживает сценарий с типом содержимого application / javascript, а консоль Chrome распознает структуру AttachAddon как веб-пакет, который выглядит.
Боюсь, я не знаком, так как четко должно быть с JS модулями. Веб-сервер для моего проекта не является (и не может быть) узлом, но имеет ли это значение?
Большое спасибо заранее
Энди