問題タブ [xtermjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 別のスレッドで開始された ServerSocket により、JavaFX アプリケーションがフリーズする
pty.js と xterm.js で端末エミュレータを作成しようとしています。私はこれまでにこのようなことを試したことがないので、間違ったことを言ったら申し訳ありません。正しく理解できていないからです。とにかく、端末は JavaFX 内に表示され、WebView
すべての GUI の準備が整い、テスト済みです。私が見つけたものから、pty.jsがそこでシェルを生成し、WebView
. 今、私はServerSocket
新しいサーバーを使用してサーバーを作成しようとしていますThread
しかし、アプリケーションをテストしてターミナル ボタンをクリックすると、アプリケーションがフリーズします。ローカルホストにアクセスして、サーバーが実行されているかどうかをテストしましたが、サーバーは稼働していました。したがって、サーバースレッドが開始された瞬間に、アプリケーションのメインスレッドの優先度が低くなります。私は正しいですか?もしそうなら、どうすればこれを解決できますか?
以下の関数はinitialize
、メイン コントローラーからロードされるターミナル シーンのメソッドで呼び出されます。誰かがなぜこれが起こっているのか説明できますか?
javascript - xterm.js をローカルでビルドして使用する方法は?
xterm.jsのソース コードにいくつかの変更を加えて、PR を作成する前にテストしたいと考えています。機能する「ディストリビューション」を生成できませんでした。
(私の用語が間違っている場合はお詫びします -- 私は Web 開発にかなり慣れていません)
設定
次のような簡単なテスト Web サイトをセットアップしましたindex.html
この場所に、次のいずれかから%PUBLIC_URL%
JS ソース ファイルを配置します。xterm.js
node_modules/xterm/dist/xterm.js
- npm で追加xterm.js/lib/xterm.js
- GitHub リポジトリからビルド
のローカル コピーを作成するxterm.js
には、次の手順を実行しました。
(注:自宅でフォローしている場合、WindowsまたはMacでxterm.jsをビルドできませんでした-Ubuntu 18.04を使用してこれらの手順を実行しただけです)
コマンドはすべて正常に実行され、最後のコマンドxterm-local/lib
はxterm.js
. そのファイルを使用して、NPM インストールから取得できるコピーを置き換えます。
結果
普通
NPMdist/xterm.js
を使用すると、ターミナル要素が正常にレンダリングされ、ログが読み取られます
ローカル ビルドの使用
xterm-local/lib/xterm.js
レンダリングされた端末要素がないからローカルにビルドされた出力を使用すると、エラーが発生Uncaught TypeError: Terminal is not a constructor
し、ログに次のように表示されます
期待
xterm.js のローカル コピーをビルドした後は、NPM ディストリビューションと同じように使用できると思います。ただし、コマンドがフォルダーではなくフォルダーnpm run package
を生成する理由に興味があります。の独自の使用可能なコピーを作成するために欠けている追加の手順はありますか?dist
lib
xterm.js