新聞中心

導(dǎo)語(yǔ)
Xterm.js 是一個(gè)使用 TypeScript 編寫(xiě)的前端終端組件,它允許應(yīng)用程序在瀏覽器中為用戶(hù)提供功能齊全的終端。它被VS Code,Hyper、Theia等熱門(mén)項(xiàng)目所使用。關(guān)于終端,開(kāi)源前哨 之前介紹了好幾個(gè),有號(hào)稱(chēng)下一代終端神器的Warp?,還有狂拽酷炫的終端:eDEX-UI。
項(xiàng)目地址
https://github.com/xtermjs/xterm.js
特征
終端應(yīng)用正常工作: Xterm.js 適用于大多數(shù)終端應(yīng)用程序,如 bash,vim 和 tmux,支持基于 curses 的應(yīng)用程序和鼠標(biāo)事件。
性能: Xterm.js 非???,它甚至包括一個(gè) GPU 加速渲染器。
豐富的 Unicode 支持: 支持 CJK、emoji 和 IME。
自包含: 不需要任何依賴(lài)項(xiàng)即可工作。
可訪問(wèn): 可以打開(kāi)屏幕閱讀器和最小對(duì)比度支持
還有更多: 鏈接、主題、插件、文檔齊全的API等
Xterm.js 不是什么
- Xterm.js 不是你可以在計(jì)算機(jī)上下載和使用的終端應(yīng)用程序
- Xterm.js 不是bash?。Xtrem.js 可以像bash一樣連接到進(jìn)程讓您與它們進(jìn)行交互(提供輸入、接收輸出)。
入門(mén)
首先,您需安裝安裝模塊,Xtrem.js 僅通過(guò) npm 發(fā)布,因此您需要安裝該模塊,然后通過(guò)運(yùn)行添加 xterm.js 作為依賴(lài)項(xiàng):
npm install xterm
要開(kāi)始在瀏覽器上使用 xterm.js,請(qǐng)將 xterm.js? 和 xterm.css? 添加到 HTML 頁(yè)面頭部。然后創(chuàng)建一個(gè)
? 讓 xterm 可以自行附加的 div?。最后,實(shí)例化該 Terminal? 對(duì)象,然后在這個(gè) div? 的 DOM 節(jié)點(diǎn)調(diào)用 open 方法運(yùn)行效果圖如下所示:
導(dǎo)入
推薦通過(guò) ES6 模塊語(yǔ)法加載使用 xterm.js:
import { Terminal } from 'xterm';
插件
本節(jié)介紹v3.14.0 中引入的新插件格式,有關(guān)舊格式的說(shuō)明請(qǐng)參見(jiàn)[1]
插件是通過(guò)構(gòu)建 xrerm.js API 上擴(kuò)展的獨(dú)立模塊。要使用插件,您首先需要在項(xiàng)目中安裝它:
npm i -S xterm-addon-web-links
然后導(dǎo)入插件,實(shí)例化它并調(diào)用 Terminal.loadAddon:
import { Terminal } from 'xterm';
import { WebLinksAddon } from 'xterm-addon-web-links';
const terminal = new Terminal();
// Load WebLinksAddon on terminal, this is all that's needed to get web links
// working in the terminal.
terminal.loadAddon(new WebLinksAddon());Xterm.js 團(tuán)隊(duì)維護(hù)以下插件,但任何人都可以構(gòu)建他們:
- xterm-addon-attach[2]:通過(guò) websocket 附加到運(yùn)行進(jìn)程的服務(wù)器
- xterm-addon-fit[3]:使終端適合于包含元素
- xterm-addon-search[4]:添加搜索功能
- xterm-addon-web-links[5]:添加網(wǎng)頁(yè)跳轉(zhuǎn)功能
瀏覽器支持
由于 xterm.js 通常是作為開(kāi)發(fā)工具,因此官方只支持現(xiàn)代瀏覽器。尤其是最新版本的 Chrome、Edge、Friefox、Safari。
還支持部分 Internet Explorer 11,這意味著 xterm.js 應(yīng)該可以在大多數(shù)情況下工作,但保留不提供部專(zhuān)門(mén)針對(duì)它的解決方法的權(quán)利,除非絕對(duì)有必要讓基本的輸入/輸出流程正常工作
Xterm.js 可以在 Electron 應(yīng)用程序中無(wú)縫運(yùn)行,甚至可以在早期版本的瀏覽器上運(yùn)行。這些版本是 xterm.js 力爭(zhēng)保持運(yùn)作的
Node.js支持
Xterm.js 還發(fā)布了 xterm-headless[6] ,一個(gè)在 Node.js 中運(yùn)行的 xterm.js 精簡(jiǎn)版本。一個(gè)使用示例,跟蹤進(jìn)程運(yùn)行并使用序列化插件時(shí)的終端狀態(tài),以便在重新連接時(shí)恢復(fù)所有狀態(tài)
API
Xterm.js 的完整 API 包含在TypeScript 聲明文件中[7],使用 GitHub(w) 中的分支/標(biāo)簽選擇器導(dǎo)航到 API 的正確版本。
請(qǐng)注意,一些 API 被標(biāo)記為實(shí)驗(yàn)性的,添加這些 API 是為了對(duì)新想法進(jìn)行實(shí)驗(yàn),無(wú)需像普通的語(yǔ)義化[8] API 那樣承諾支持它。請(qǐng)注意這些 API 在版本之間可能會(huì)發(fā)生根本性的變化,因此如果您計(jì)劃使用實(shí)驗(yàn)性 API,請(qǐng)務(wù)必閱讀發(fā)行說(shuō)明
實(shí)際用途
Xterm.js 被廣泛應(yīng)用于多個(gè)世界級(jí)的應(yīng)用程序中,并為其提供了出色的終端體驗(yàn),如:
- SourceLair[9]
- Microsoft Visual Studio Code[10]
- ttyd[11]
- Katacoda[12]
- Eclipse Che[13]
- WebSSH2[14]
- Codenvy[15]
- CoderPad[16]
- Terminal for Atom[17]
- Spyder Terminal[18]
- 以及更多,詳見(jiàn)[19]
發(fā)布
Xterm.js 大致遵循發(fā)布周期為每月
所有當(dāng)前和過(guò)去的版本都可以在 發(fā)版日志[20]中找到,您可以在 wiki[21] 上查看高優(yōu)先級(jí)路線圖,通過(guò) Milestones[22] 了解 xterm.js 現(xiàn)在在做什么
測(cè)試版
通過(guò) npm 安裝最新的 beta 版本
npm install -S xterm@beta
這些版本通常是穩(wěn)定的,但可能會(huì)出現(xiàn)一些錯(cuò)誤。我們建議主要使用 beta 版來(lái)測(cè)試新功能并驗(yàn)證錯(cuò)誤修復(fù)
網(wǎng)站標(biāo)題:太酷了!在瀏覽器中就能體驗(yàn)到功能齊全的終端
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dhjhssj.html


咨詢(xún)
建站咨詢(xún)
