Electron-vue

简介: Electron-vue

Electron介绍

Electron 是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。通过将ChromiumNode.js嵌入到其二进制文件中,Electron 允许您维护一个 JavaScript 代码库并创建可在 Windows、macOS 和 Linux 上运行的跨平台应用程序——无需原生开发经验。

注意:在搭建好vue-cli(脚手架)前提下进行安装与使用,然后将项目进行打包。

详细教程入口

npm run build

命令成功后就会在项目中生成dist文件夹

image.png

安装与配置

接下来在dist文件夹下新建终端或者在利用cmd命令打开,并且输入如下命令

npm install -g electron  或者 cnpm install -g electron

electron -v 检测是否成功安装

image.png

在dist文件夹下新建main.js和packge.json

image.png

main.js

const {app, BrowserWindow} =require('electron');//引入electron
let win;
let windowConfig = {
  width:800,
  height:600
};//窗口配置程序运行窗口的大小
function createWindow(){
  win = new BrowserWindow(windowConfig);//创建一个窗口
  win.loadURL(`file://${__dirname}/index.html`);//在窗口内要展示的内容index.html 就是打包生成的index.html
  win.webContents.openDevTools();  //开启调试工具
  win.on('close',() => {
    //回收BrowserWindow对象
    win = null;
  });
  win.on('resize',() => {
    win.reload();
  })
}
app.on('ready',createWindow);
app.on('window-all-closed',() => {
  app.quit();
});
app.on('activate',() => {
  if(win == null){
    createWindow();
  }
});

packege.json

{
    "name": "liyouxiu",
    "productName": "liyouxiu",
    "author": "liyouxiu",
    "version": "1.0.0",
    "main": "main.js",
    "description": "liyouxiu",
    "scripts": {
      "pack": "electron-builder --dir",
      "dist": "electron-builder",
      "postinstall": "electron-builder install-app-deps"
    },
    "build": {
      "electronVersion": "1.8.4",
      "win": {
        "requestedExecutionLevel": "highestAvailable",
        "target": [
          {
            "target": "nsis",
            "arch": [
              "x64"
            ]
          }
        ]
      },
      "appId": "liyouxiu",
      "artifactName": "demo-${version}-${arch}.${ext}",
      "nsis": {
        "artifactName": "demo-${version}-${arch}.${ext}"
      }
    },
    "dependencies": {
      "core-js": "^2.4.1",
      "electron-builder": "^20.44.4",
      "electron-package": "^0.1.0",
      "electron-updater": "^2.22.1"
    }
  }

进行测试,输入以下命令

electron .

image.png

打包成软件包

npm install electron-builder

npm install electron-package

执行打包命令:

electron-bulider

关于运行时的报错问题

vue打包项目及Failed to load resource: net::ERR_FILE_NOT_FOUND问题的解决

webpack.prod.config.js进行如下修改

image.png

  output: {
    path: config.build.assetsRoot,
    filename: utils.assetsPath('js/[name].[chunkhash].js'),
    chunkFilename: utils.assetsPath('js/[id].[chunkhash].js'),
    publicPath:'./' //添加
  },

webpack.base.config.js进行如下修改

output: {
    path: config.build.assetsRoot,
    filename: '[name].js',
    publicPath: process.env.NODE_ENV === 'production'
      ? "./"+config.build.assetsPublicPath
      : "./"+config.dev.assetsPublicPath
  },

最后重新进行打包测试就行了!!!


相关文章
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
448 0
eggjs 项目报错 Cookie need secret key to sign and encrypt. Please set config.keys first
|
10月前
|
JSON JavaScript 前端开发
开发桌面程序-Electron入门
【10月更文挑战第16天】Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台桌面应用的框架,嵌入了 Chromium 和 Node.js。本文介绍了如何搭建 Electron 开发环境,包括安装 Node.js、创建项目、配置 main.js 和打包应用。通过简单的步骤,你可以快速创建并运行一个基本的 Electron 应用程序。
444 4
开发桌面程序-Electron入门
|
11月前
|
JavaScript API
使用vue3+vite+electron构建小项目介绍Electron进程间通信
使用vue3+vite+electron构建小项目介绍Electron进程间通信
1408 3
|
JavaScript 前端开发 安全
【TypeScript技术专栏】TypeScript在Electron桌面应用中的实践
【4月更文挑战第30天】本文介绍了如何在Electron桌面应用中采用TypeScript以提升代码质量和可维护性。Electron利用Chromium和Node.js让前端开发者能创建桌面应用,而TypeScript的强类型系统和高级语言特性有助于管理复杂项目。通过初始化项目、安装依赖、配置TypeScript、编写主进程和渲染进程代码,开发者可以在Electron中实践TypeScript。一个简单的文本编辑器案例展示了TypeScript在确保类型安全方面的优势。尽管有学习成本,但TypeScript对大型Electron项目来说是值得的。
1031 0
|
缓存 算法 编译器
【C/C++ 泡沫精选面试题01】提高c++性能,你用过哪些方式去提升?
【C/C++ 泡沫精选面试题01】提高c++性能,你用过哪些方式去提升?
262 1
|
缓存 JavaScript 前端开发
Electron + Vue3 + TS + Vite 桌面应用项目搭建教程!
前言 Electron主要是用来搭建桌面应用程序的,虽然有许多人不喜欢它,但是也不能撼动目前它的王者地位!使用Electron可以让我们前端开发者快速搭建出桌面应用程序,我们所熟知的VS code就是使用Electron开发的。 由于Electron更新迭代非常快,加上Vue3已经发布很长一段时间了,所以我们很有必要将我们的项目升级一下,所以这里就利用electron+Vue3搭建一个万精油的项目框架!
3610 0
Electron + Vue3 + TS + Vite 桌面应用项目搭建教程!
|
机器学习/深度学习 存储 数据采集
机器学习之PyTorch和Scikit-Learn第5章 通过降维压缩数据Part 1
在第4章 构建优秀的训练数据集 – 数据预处理中,我们学习了使用特征选择技术对数据集降维的不同方法。特征选择以外的另一种降维方法是特征提取。本章中我们会学习两种基本技术,可帮助我们通过将其变换为比原来更低维度的特征子空间总结出数据集中的信息内容。数据压缩是机器学习中非常重要的课题,它有助于我们存储和分析现代技术时代生产和收集的与日俱增的数据。
324 0
机器学习之PyTorch和Scikit-Learn第5章 通过降维压缩数据Part 1
|
数据安全/隐私保护
eggjs 怎么使用 egg-jwt 进行用户鉴权实现登录功能?
eggjs 怎么使用 egg-jwt 进行用户鉴权实现登录功能?
588 0
eggjs 怎么使用 egg-jwt 进行用户鉴权实现登录功能?
|
存储 前端开发 开发者
对 React Hook的闭包陷阱的理解,有哪些解决方案?
对 React Hook的闭包陷阱的理解,有哪些解决方案?
454 0
|
API
Qt之QNetworkProxy(网络代理)
简述 QNetworkProxy类提供了一个网络层代理。 QNetworkProxy提供了配置网络层代理支持Qt网络类的方法。目前支持的类有QAbstractSocket、QTcpSocket、QUdpSocket、QTcpServer和QNetworkAccessManager。 简述 介绍 网络请求 设置代理 效果 源码 介绍 代理被设
3401 0