xterm.jsのソース コードにいくつかの変更を加えて、PR を作成する前にテストしたいと考えています。機能する「ディストリビューション」を生成できませんでした。
(私の用語が間違っている場合はお詫びします -- 私は Web 開発にかなり慣れていません)
設定
次のような簡単なテスト Web サイトをセットアップしましたindex.html
<!doctype html>
<html>
<head>
<script src="%PUBLIC_URL%/xterm.js"></script>
</head>
<body>
<div id="terminal"></div>
<script>
console.log(Terminal);
var term = new Terminal();
term.open(document.getElementById('terminal'));
term.write('Hello from \x1B[1;3;31mxterm.js\x1B[0m $ ')
</script>
</body>
</html>
この場所に、次のいずれかから%PUBLIC_URL%
JS ソース ファイルを配置します。xterm.js
node_modules/xterm/dist/xterm.js
- npm で追加xterm.js/lib/xterm.js
- GitHub リポジトリからビルド
のローカル コピーを作成するxterm.js
には、次の手順を実行しました。
git clone https://github.com/xtermjs/xterm.js.git xterm-local
cd xterm-local
npm install
npm run package
(注:自宅でフォローしている場合、WindowsまたはMacでxterm.jsをビルドできませんでした-Ubuntu 18.04を使用してこれらの手順を実行しただけです)
コマンドはすべて正常に実行され、最後のコマンドxterm-local/lib
はxterm.js
. そのファイルを使用して、NPM インストールから取得できるコピーを置き換えます。
結果
普通
NPMdist/xterm.js
を使用すると、ターミナル要素が正常にレンダリングされ、ログが読み取られます
ƒ Terminal(options) {
this._core = new Terminal_1.Terminal(options);
this._addonManager = new AddonManager_1.AddonManager();
}
ローカル ビルドの使用
xterm-local/lib/xterm.js
レンダリングされた端末要素がないからローカルにビルドされた出力を使用すると、エラーが発生Uncaught TypeError: Terminal is not a constructor
し、ログに次のように表示されます
{Terminal: ƒ, __esModule: true}
Terminal: ƒ e(e)
__esModule: true
__proto__: Object
期待
xterm.js のローカル コピーをビルドした後は、NPM ディストリビューションと同じように使用できると思います。ただし、コマンドがフォルダーではなくフォルダーnpm run package
を生成する理由に興味があります。の独自の使用可能なコピーを作成するために欠けている追加の手順はありますか?dist
lib
xterm.js