Electron的第二个程序学生点名

xiaohai 2021-05-12 17:21:46 3058人围观 标签: Electron 
简介本文主要开发一个实现学生点名的小功能。

本文主要编写一个学生点名程序,界面有一个按钮,点击就可以出现一个学生的名字。

目录结构介绍:

- index.html
- index.js
- main.js
- name.json
- package.json

首先介绍下,新版本的 electron 在渲染进程中默认无法使用 node,要想在项目中可以使用node必须要在main.js中进行以下配置:

...
app.on('ready', () => {
    mainWindow = new BrowserWindow({
        width: 800,
        height: 400,
        //添加如下代码,新窗口中全量使用node.js
        webPreferences: {
            nodeIntegration: true,
        }
    })

    mainWindow.loadFile('index.html')

    mainWindow.on('closed', () => {
        mainWindow = null
    })

})
...
准备数据文件(name.json)

该文件主要存储学生名称的列表字符串,内容如下

["张三","李四","王五","赵六"]
实现界面(index.html)

界面包含一个按钮和一个学生名称展示区域

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo1</title>
</head>
<body>
    <div style='text-align:center;margin-top:109px;'>
    <p>随机点名 <button id="click">点击点名</button></p>
    <p id="name" style="font-size:25px;font-weight:blod;color:red;"></p>
    </div>
</body>
</html>
实现逻辑(新建index.js)

里面主要实现点击事件和读取文件的操作

var fs = require('fs')
window.onload=function(){
    var btn = this.document.querySelector('#click')
    var name = this.document.querySelector("#name")
    btn.onclick = function(){
        fs.readFile('name.json',(err,data)=>{
            arr = JSON.parse(data)
            name.innerHTML = arr[Math.floor((Math.random()*arr.length))]
        })
    }
}
引入index.js

在index.html中引入index.js

<script src="index.js"></script>
运行查看效果
electron .

图片alt