到目前为止,我使用了浏览器API来操作前端。这不是一个编写前端代码好的方法。因此在接下来的几篇文章,我将使用不同的前端框架开发。
从备受喜爱的经典jQuery开始。
安装jQuery
npm install jquery
我们可以从以前的项目中复制除了app.js
脚本之外的所有代码。
加载jQuery
xml
<script src="./node_modules/jquery/dist/jquery.js"></script>
app.js
现在我们可以使用jQuery改写DOM操作。
js
function appendInput(command) {
let e = $(
`<div class='input-line'>
<span class='prompt'>$</span>
<span class='input'></span>
</div>`)
e.find('.input').text(command)
$("#history").append(e)
}
function appendOutput(output) {
let e = $(`<div class='output'></div>`)
e.text(output)
$("#history").append(e)
}
$("form").on("submit", function(e) {
e.preventDefault()
let command = $("input").val()
let output = window.api.runCommand(command)
appendInput(command)
appendOutput(output)
$("input").val("")
$("input")[0].scrollIntoView()
})
安全
现在,使用字符串 <span class='input'>${command}</span>
是很有吸引力的,但这是不安全的。如果命令包含像<
或>
特殊字符,应用程序将表现不正确。
还有其他方法可以更有表现力,更安全。例如模板字符串和各种模板库,如 handlebars。