electron从创建项目到线上更新

本文介绍了如何从创建 Electron 项目开始,利用 electron-builder 进行打包,并通过 electron-updater 实现应用的自动更新。首先确保 Node.js 和 npm 可用,然后按照 Electron 官方教程操作。接着安装 electron-builder,配置 package.json 并运行打包命令,生成的 .exe 文件即可安装。要实现更新功能,需引入 electron-updater,设置版本号并重新打包,降低版本号后,新打包的应用将自动检测并下载更新。

 

1. 需要有node能正常使用npm

以electron官网为例  https://electronjs.org/

# 克隆示例项目的仓库
$ git clone https://github.com/electron/electron-quick-start

# 进入这个仓库
$ cd electron-quick-start

# 安装依赖并运行
$ npm install && npm start

2进行项目的打包(我使用的的electron-builder)

首先在项目跟目录(electron-quick-start目录下)

推荐使用yarn和npm同理

npm install  -g yarn

下载好之后安装 electron-builder

yarn add electron-builder --save-dev

到此需要配置package.json文件在文件中添加(打开项目的package.json文件)

"build": {
    "appId": "com.dapaidang.app",
    "electronVersion": "3.0.11",
    "publish": [
      {
        "provider": "generic",
        "url": "http://192.168.28.134"
      }
    ],
    "win": {
      "target": [
        "nsis",
        "zip"
      ]
    }
  },"scripts": {
    "dist": "electron-build
### 实现在线文件预览 为了在基于 Vue3 和 TypeScript 构建的 Electron 应用程序中实现在线文件预览功能,可以采用多种方法。一种常见的解决方案是利用第三方服务或库来处理不同类型的文件预览。 #### 使用 `pdf.js` 预览 PDF 文件 对于 PDF 文件,在线预览可以通过集成 Mozilla 开发的 `pdf.js` 来完成。此库允许直接在网页内渲染 PDF 文档,无需依赖 Adobe Reader 或其他外部插件[^1]。 安装 pdf.js: ```bash npm install pdfjs-dist --save ``` 创建一个简单的组件用于显示 PDF: ```vue <template> <div id="pdf-viewer"> <canvas ref="pdfCanvas"></canvas> </div> </template> <script lang="ts"> import { defineComponent, onMounted, ref } from 'vue'; import * as pdfjsLib from 'pdfjs-dist'; export default defineComponent({ props: { url: String, }, setup(props) { const pdfCanvas = ref<HTMLCanvasElement | null>(null); onMounted(async () => { if (props.url && pdfCanvas.value) { await loadPdf(); } }); async function loadPdf() { try { const loadingTask = pdfjsLib.getDocument(props.url); const pdf = await loadingTask.promise; const page = await pdf.getPage(1); // 加载第一页 const viewport = page.getViewport({ scale: 1.5 }); const canvasContext = pdfCanvas.value.getContext('2d'); if (!canvasContext) throw new Error('无法获取 Canvas 上下文'); pdfCanvas.value.width = viewport.width; pdfCanvas.value.height = viewport.height; const renderContext = { canvasContext, viewport, }; await page.render(renderContext).promise; } catch (error) { console.error(error); } } return { pdfCanvas, }; }, }); </script> ``` #### Office 类型文档预览 针对 Microsoft Word (.doc/.docx), Excel (.xls/.xlsx),PowerPoint (.ppt/.pptx) 等办公套件产生的文件,则推荐使用像 OnlyOffice 这样的开源项目或是 Google Docs Viewer API 提供的服务来进行在线查看[^2]。 仅需通过 iframe 嵌入相应 URL 即可轻松展示这些格式的内容: ```html <!-- Example of using Google Docs viewer --> <iframe :src="'https://docs.google.com/gview?url=' + encodeURIComponent(fileUrl)" width="80%" height="600px"></iframe> ``` 或者考虑部署本地服务器端转换器如 LibreOffice 转换成 HTML/PDF 后再提供给前端解析。 #### 图片和其他多媒体资源 图片可以直接嵌入到页面中作为 `<img>` 标签的一部分;音频视频则可通过 `<audio>` 和 `<video>` 标签播放。确保设置合适的属性以便于控制媒体元素的行为(例如自动播放、循环等)[^3]。 ```html <img v-if="isImage" :src="fileUrl" alt="Preview Image"/> <audio controls v-else-if="isAudio"> <source :src="fileUrl" type="audio/mpeg"> Your browser does not support the audio element. </audio> <video controls v-else-if="isVideo"> <source :src="fileUrl" type="video/mp4"> Your browser does not support the video tag. </video> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值