# Clone this repository
git clone https://github.com/electron/electron-quick-start-typescript
# Go into the repository
cd electron-quick-start-typescript
# Install dependencies
npm install
# Run the app
npm start
npm install执行成功,npm start失败,考虑删掉node_modules文件夹重新安装依赖

yarn,因为它可以更好地处理依赖关系,并可以使用yarn clean帮助减少最后构建文件的大小npm install -g yarn
yarn init
electron-download包来下载相关文件,会访问https://github.com/electron/electron/releases/获取相关文件,大部分情况会由于网络问题无法下载,此时就需要通过设置 electron 镜像解决,参考安装 Electron
ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/",可使用 powershell,快速设置临时环境变量,此环境变量只在本次生效$env:ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/
yarn add -D electron
yarn add -D typescript
package.json配置文件节点scripts添加一个脚本,指定入口文件为main.js,ts文件最终会编译为js文件,所以指定入口文件为js文件即可 "main": "main.js",
"scripts": {
"start": "tsc main.ts && electron main.js"
}
main.ts和index.html文件,内容分别如下main.ts
const { app, BrowserWindow } = require("electron");
import * as path from "path";
let win;
function createWindow() {
// 创建浏览器窗口
win = new BrowserWindow({ width: 600, height: 800 });
//然后加载app的index.html
let indexPath = path.join(__dirname, "index.html");
win.loadFile(indexPath);
win.webContents.openDevTools();
// 当 window 被关闭,这个事件会被触发。
win.on("closed", () => {
// 取消引用 window 对象,如果你的应用支持多窗口的话,
// 通常会把多个 window 对象存放在一个数组里面,
// 与此同时,你应该删除相应的元素。
win = null;
});
}
app.on("ready", createWindow);
// 当全部窗口关闭时退出。
app.on("window-all-closed", () => {
// 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
// 否则绝大部分应用及其菜单栏会保持激活。
if (process.platform !== "darwin") {
app.quit();
}
});
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Hello World!</title>
</head>
<body>
<h1>Hello World!</h1>
We are using node
<script>
document.write(process.versions.node);</script>, Chrome
<script>
document.write(process.versions.chrome);</script>, and Electron
<script>
document.write(process.versions.electron);</script>.
</body>
</html>
app.quit(),否则会有部分进程无法退出,一直锁定文件,无法重新打包发布运行yarn start
electron-builder,并设置脚本,添加pack、dist脚本yarn add -D electron-builder
"scripts": {
"build": "tsc main.ts",
"start": "tsc main.ts && electron main.js",
"pack": "yarn build && electron-builder --dir",
"dist": "yarn build && electron-builder",
}
yarn dist
win-unpacked文件夹则是发布的应用,直接打开electron.exe即可运行应用
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1762/viewspace-2821757/ ,如需转载,请注明出处,否则将追究法律责任。