Electron 打包 umi 项目,打开空白

在开发环境中使用`http://localhost:8000/`加载页面正常,但打包后出现空白页。问题源于history模式的路由必须依赖web服务器。解决方案是将路由设置为hash模式,通过修改`.umirc.ts`配置文件,将`history.type`设为'hash',确保应用能在非服务器环境下正确运行。
摘要由CSDN通过智能技术生成

问题: dev 环境使用 url 正常显示,打包后页面空白

// dev
mainWindow.loadURL('http://localhost:8000/')

// prod
mainWindow.loadFile(path.resolve(__dirname, '../renderer', 'index.html'));

原因: history 模式只能部署到 web 服务器使用,默认是 history

解决: 路由使用 hash 模式

// .umirc.ts
export default {
  history: { type: 'hash' },
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用electron打包项目为exe的步骤: 1. 首先,确保你已经安装了Node.js和npm。你可以在命令行中运行以下命令来检查它们的版本: ```shell node -v npm -v ``` 2. 创建一个新的Vue项目,并在项目根目录下运行以下命令来安装electronelectron-packager: ```shell npm install electron electron-packager --save-dev ``` 3. 在项目根目录下创建一个名为`main.js`的文件,并将以下代码复制到文件中: ```javascript const { app, BrowserWindow } = require('electron') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) win.loadFile('index.html') } app.whenReady().then(() => { createWindow() app.on('activate', function () { if (BrowserWindow.getAllWindows().length === 0) createWindow() }) }) app.on('window-all-closed', function () { if (process.platform !== 'darwin') app.quit() }) ``` 4. 在项目根目录下创建一个名为`index.html`的文件,并将你的Vue项目的HTML代码复制到文件中。 5. 在`package.json`文件中添加以下代码,以指定入口文件和打包配置: ```json "main": "main.js", "scripts": { "start": "electron .", "package": "electron-packager . myApp --platform=win32 --arch=x64 --out=dist --overwrite" } ``` 6. 运行以下命令来启动electron应用程序: ```shell npm start ``` 7. 当你准备好打包应用程序时,运行以下命令来生成exe文件: ```shell npm run package ``` 8. 打包完成后,你将在`dist`文件夹中找到生成的exe文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值