什么是Electron

简单的讲就是,使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架,
这篇博客将介绍Electron的最基本的使用—–打包自己的博客变成桌面App

创建一个文件夹

初始化,也就是记录版本与使用的依赖包

npm init

将项目导入 Forge(注意兼容性)

npm install --save-dev @electron-forge/cli
npx electron-forge import

这一步可能会出现node版本过高的错误,建议降低node版本(网上有很多教程),使其可以兼容Electron,
注意node版本降低后,要重新全局安装npm哦!!

安装成功后package.json会出现以下内容:

"scripts": {
    "start": "electron-forge start",
    "package": "electron-forge package",
    "make": "electron-forge make"
  },

建立一个js文件

名字要与package.json这个相同

"main": "index.js",

将以下内容写入index.js中

const { app, BrowserWindow } = require('electron')
const path = require('path')

function createWindow () {
  const win = new BrowserWindow({
      
      <!-- 更改窗口尺寸-->
    width: 1000,
    height: 800,
    webPreferences: {
      preload: path.join(__dirname, 'preload.js')
    }
  })

  win.loadURL('自己博客的地址')
}

app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    if (BrowserWindow.getAllWindows().length === 0) {
      createWindow()
    }
  })
})

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

将win.loadURL的地址写上自己博客的即可

执行

npm start

可以看效果

更改图标

修改forge.config.js的内容

const path = require('path')
module.exports = {
  packagerConfig: {
    // 自定义图标
    icon: path.join(__dirname, './favicon.ico')
  },
  rebuildConfig: {},
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      config: {},
    },
    {
      name: '@electron-forge/maker-zip',
      platforms: ['darwin'],
    },
    {
      name: '@electron-forge/maker-deb',
      config: {},
    },
    {
      name: '@electron-forge/maker-rpm',
      config: {},
    },
  ],
};

生成桌面应用

执行

npm run make

出现out文件夹,打开里面的.exe文件即可
注意ico的尺寸必须是256*256的,不然设置不上去,然后ico图标由于缓存可能会有延迟

我的博客的压缩文件地址https://gitee.com/xiao-zhe-is-not-lazy/lazychild-zip