Electron结合SPA应用打包


electron可以将html、css、js程序打包为桌面端程序。,比如,之前上线的程序,产品突然想要转换为桌面端程序。这时就需要Electron 这门技术了。这个就是我写这篇文章的主要意图。

常见的SPA应用

常见的SPA应用绝大多数都是vue、react应用。这些应用大多都是利用webpack进行打包,生成dist静态资源(html、css、js)。然后部署到服务器上供用户访问。

Electron加载内容的两种方式

  • 文件(file)
  • 地址(url)

Electron组成

node + Chromium

前端常见的问题

前端常见的问题之一就是跨域了。但是在Electron中就不存在这个限制了,毕竟他是Chromium,而不是浏览器。

静态资源与Electron 结合

  1. 请求数据

    因为是Electron直接加载本地文件,访问协议就是file协议。所以请求数据需要写好完整的路径(域名、协议、端口

    如:http://www.baidu.com/api/xxx
    
  2. 配置webpack打包器

    publicPath: "./",
    

    这个必须设置为./目的是为了从当前目录下寻找资源

  3. 设置index.html
    将打包后的index.html 内添加一个标签base

      <head>
        <base href="./">
      </head>
      <body>
    

    同样的第二步是同一个意思

  4. 最后一步设置package.json文件,添加homepage属性 这个是需要在Electron 下设置的,上边都是在vue、react下设置

    homepage:'./'
    

当然了,你需要在Electron下设置窗口加载文件了

 const win = new BrowserWindow( options )

  win.loadFile( 'dist/index.html' ) 
  // 这里的dist就是vue、react打包后的静态资源

  win.once( 'ready-to-show', () => {
    win.show()
  } )

运行你的命令,就能拥有一个桌面端程序了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Angular 应用程序与 Electron 打包到单个可执行文件中,您可以使用 Electron Builder。以下是打包步骤: 1. 在您的 Angular 应用程序根目录中,使用 npm 安装 electron-builder。 ``` npm install electron-builder --save-dev ``` 2. 创建 Electron 主进程文件: 在您的 Angular 应用程序根目录中,创建一个名为 main.js 的新文件,并将以下代码复制到该文件中: ``` const { app, BrowserWindow } = require('electron') let win; function createWindow() { win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true, allowRunningInsecureContent: (process.env.ELECTRON_ENV === 'development') } }) win.loadURL(`file://${__dirname}/dist/index.html`) win.webContents.openDevTools() win.on('closed', () => { win = null }) } app.on('ready', createWindow) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (win === null) { createWindow() } }) ``` 这将创建一个新的 Electron 窗口,并将您的 Angular 应用程序的 index.html 文件加载到其中。 3. 在您的 Angular 应用程序根目录中,使用 Angular CLI 构建您的应用程序: 确保您已经全局安装了 Angular CLI。然后,在您的应用程序根目录中,运行以下命令: ``` ng build --prod ``` 这将在 dist/ 目录中创建一个生产构建。 4. 在您的 Angular 应用程序根目录中,创建一个名为 electron-builder.json 的新文件,并将以下代码复制到该文件中: ``` { "directories": { "output": "dist" }, "files": [ "dist/**/*" ], "electronVersion": "11.0.2", "appId": "com.example.myapp", "productName": "My App", "linux": { "target": "AppImage" }, "mac": { "target": "dmg" }, "win": { "target": "nsis" } } ``` 这将告诉 electron-builder 如何打包您的应用程序。 5. 在您的 Angular 应用程序根目录中,使用以下命令打包您的应用程序: ``` npx electron-builder build ``` 这将在 dist/ 目录中创建一个可执行文件。 注意:在打包之前,请确保您的 Angular 应用程序已经构建并且可在浏览器中正常运行。另外,如果您还没有安装 Electron,请在执行打包命令之前先进行安装。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值