基于xterm.js 实现Vue版本终端terminal
前端实现
xterm
npm install --save xterm
xterm-addon-fit
xterm.js的插件,使终端的尺寸适合包含元素。
npm install --save xterm-addon-fit
xterm-addon-attach
xterm.js的附加组件,用于附加到Web Socket
npm install --save xterm-addon-attach
<template>
<div id="xterm" class="xterm" />
</template>
<script>
import 'xterm/css/xterm.css'
import { Terminal } from 'xterm'
import { FitAddon } from 'xterm-addon-fit'
import { AttachAddon } from 'xterm-addon-attach'
export default {
name: 'Xterm',
props: {
socketURI: {
type: String,
default: ''
},
},
watch: {
socketURI: {
deep: true, //对象内部属性的监听,关键。
immediate: true,
handler() {
this.initSocket();
},
},
},
mounted() {
this.initSocket()
window.addEventListener('resize', this.onTerminalResize);
},
beforeDestroy() {
this.socket.close()
this.term&&this.term.dispose()
},
methods: {
initTerm() {
// this.initSocket();
let term = new Terminal({