手把手教Electron+vue的使用

.现如今前端框架数不胜数,尤其是angular、vue吸引一大批前端开发者,在这个高新技术快速崛起的时代,自然少不了各种框架的结合使用。接下来是介绍electron+vue的结合使用。

2.Electron是什么??

     对于我来说Electron相当于一个浏览器的外壳,可以把网页程序嵌入到壳里面,可以运行在桌面上的一个程序,可以把网页打包成一个在桌面运行的程序,通俗来说就是软件,比如像QQ、优酷、网易音乐等等。功能的强大超出你的想象,可以构建跨平台桌面程序,本身支持node.js,可以使用node.js的一些模块。想要深入了解可以查看官网的详细介绍。

    Electron官网:https://electronjs.org/  

3.Electron+vue的联合使用

    有vue基础跟nodejs基础的开发人员使用electron那就更顺风顺水了,没有node基础的,有vue或者angular基础的也可以学习,学起来可能会吃力些,不过也没关系,很多东西有大神已经封装好了,直接使用就行。

    接下来教你手把手搭建一个electron+vue的开发环境。

    第一步:安装nodejs

    windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到下载页面。 

 

2、下载完成后双击运行进行安装,安装过程基本直接“NEXT”就可以了(全部采用默认方式安装)。(windows的安装msi文件在过程中会直接添加path的系统变量,变量值是你的安装路径,例如“C:\Program Files\nodejs”)。

3、安装完成后可以使用cmd(win+r然后输入cmd进入 )测试下是否安装成功。方法:在cmd下输入node -v,出现下图版本提示就是完成了NodeJS的安装。 

 

 

4、npm的安装。由于新版的NodeJS已经集成了npm,所以之前npm也一并安装好了。同样可以使用cmd命令行输入”npm -v”来测试是否成功安装。如下图,出现版本提示便OK了。 

 

5、常规NodeJS的搭建到现在为止已经完成了,急不及待的话你可以在”cmd“输入”node“进入node开发模式下,输入你的NodeJS第一句:”hello world“ - 输入:console.log(‘hello world’)。

 

 第二步:搭建vue开发环境

      1.安装淘宝npm镜像

             由于在国内使用npm是非常慢的,所以在这里我们推荐使用淘宝npm镜像,使用

       淘宝的cnpm命令管理工具可以代替默认的npm管理工具:$ npm install -g cnpm --registry=https://registry.npm.taobao.org;

       淘宝镜像安装成功之后,我们就可以全局vue-cli脚手架,输入命令:cnpm install --global vue-cli  回车;验证是否安装成功,在命令输入vue,出来vue的信息,及说明安装成功;

     

第三步:搭建vue项目

 使用命令创建项目,一步步选择之后开始等等项目创建完成

$  vue init webpack demo

完成后如下:

成功之后修改启动项,打开demo>config>index.js,具体修改如下:

 

    执行命令,出现如下效果说明项目已经运行成功:

$  npm run dev

  

执行生成命令:

$ npm run build

 注意: 生成的时候一定要修改index.js 中的生成路径,否则后面程序运行打包页面会显示空白,找不到路径

 

出现如下效果

项目下回多出一个dist的文件夹,里面就你打包好的东西

接下来一切操作都在dist文件夹目录下。

第四步:安装Electron

执行命令:

$ npm install electron

 安装成功后执行:electron -v 查看一下是否安装成功

第五步:创建主程序的入口(main.js),及相关配置 package.json

在dist文件夹内创建main.js文件及package.json 文件

文件内容如下:

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.htmlwin.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();}
});

 以上是最基本的代码,更复杂的可以自行设计,也可以看官方文档

package.json

{"name": "demo","productName": "项目名称","author": "作者","version": "1.0.4",//版本号"main": "main.js",//主文件入口"description": "项目描述","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": "demo",//程序id"artifactName": "demo-${version}-${arch}.${ext}","nsis": {"artifactName": "demo-${version}-${arch}.${ext}"},"extraResources": [{"from": "./static/xxxx/",//需要打包的静态资源"to": "app-server",//静态资源存放路径"filter": ["**/*"//打包静态资源文件夹内的所有文件  如果没有静态资源要打包进去,extraResources 这段代码去掉]}],"publish": [{"provider": "generic","url": "http://xxxxx/download/"//自动更新的安装包地址,初步使用publish这段代码不需要}]},"dependencies": {"core-js": "^2.4.1","electron-packager": "^12.1.0",//不打包成exe程序可以去掉"electron-updater": "^2.22.1",//不打包成exe程序可以去掉}
}

 package.json更多配置可查看官方文档:https://www.electron.build/configuration/configuration

 

 现在万事俱备只欠东风,

执行命令: electron .

 

成功后效果如下:

出现如上效果说明你已经成功了。

第五步:打包成软件包

执行命令

 

$ npm install electron-builder$ npm install electron-package

 

执行打包命令:

electron-bulider

以上就是打包成功的效果,demo-1.0.4.exe 就是一个软件包,可以直接安装到系统上,不同的操作系统可以打包成不同的安装包。

 

vue有一个集成的electron的项目

electron-vue ,

现成项目已经发布到githup上

githup地址:https://github.com/2577662935/electron-vue.git

文档访问地址:https://github.com/2577662935/electron-vue/tree/master/my-project

 

 

 

 

    如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,直到成功。

转载于:https://www.cnblogs.com/jiangxifanzhouyudu/p/9517651.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

shell循环和分支

循环和分支对代码块的操作是构造组织shell脚本的关键. 循环和分支结构为脚本编程提供了操作代码块的工具.10.1. Loops循环就是重复一些命令的代码块,如果条件不满足就退出循环.for loopsfor arg in [list]这是一个基本的循环结构.它与C的for结构有很大不同.forarg in [list]do …

mysql主从_MySQL主从原理及配置详解

MySQL主从配置及原理,供大家参考,具体内容如下一、环境选择:1.Centos 6.52.MySQL 5.7二、什么是MySQL主从复制MySQL主从复制是其最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务…

引导修复 不是活动的_河南省视频数据修复中心

河南省视频数据修复中心 lk6afds河南省视频数据修复中心 文件预览我找到了我要恢复文件,可是,这个文件能能正确恢复呢。没有用的文件不可以删掉吗。我们先来看看盘文件夹都是什么吧。(以下仅限于~系统)一般来说,刚刚安装的电脑系统盘主要包含…

企业日志分析 五大问题需重点注意

资讯 | 安全 | 论坛 | 下载 | 读书 | 程序开发 | 数据库 | 系统 | 网络 | 电子书 | 微信学院 | 站长学院 | 源码 | QQ | 专栏 | 考试 | 系统安全| 网站安全| 企业安全| 网络安全| 工具软件| 杀毒防毒| 加密解密|首页 > 安全 > 企业安全 > 正文企业安全…

python学习笔记(一):python入门

上周六终于开始接触心心念念的python了,本人学习语言算是零基础,java语法比较复杂,所以选择了一个语法相对还是比较简单,而且现在使用也是越来越广泛的python进行了学习。下面就言归正传吧 在学习python之前先来了解下现今比较流行…

怎么验证proftpd安装成功_英雄联盟手游泰服安卓账号怎么注册

英雄联盟手游中泰服安卓账号怎么注册?泰服安卓账号的注册流程是怎样的?泰服安卓账号的注册与其他服安卓账号的注册是否一致?接下来就给介绍下手游中泰服安卓账号的注册,希望对各位玩家能有所帮助。英雄联盟游戏新泰服安卓账号怎样…

oracle实现mysql的if_oracle中decode函数 VS mysql中的if函数和case函数

oracle中有decode函数,如下:select sum(decode(sex,男,0,1)) 男生数 from school;统计男生数目,含义为:decode()中sex字段为男时,用1代替,然后计算总和而mysql中没有该函…

visio对象放入word显示不全_办公人士必学visio技能 手把手教你使用visio绘制项目全景图!...

Hi,大家好!我是爱踢汪。今天本汪想问问你用什么总结项目,Word、PPT还是视频?下面我们聊聊画图。画图固然是为了好看,视觉上的冲击加深印象。更重要的是,图像模型带来的“潜台词”,有意想不到的效果&#xf…

mongoDB操作详细

简介 它和我们使用的关系型数据库最大的区别就是约束性,可以说文件型数据库几乎不存在约束性,理论上没有主外键约束,没有存储的数据类型约束等等 关系型数据库中有一个 "表" 的概念,有 "字段" 的概念,有 "数据条目" 的概念 MongoDB中也同样有以上…

mysql 存储过程 on_MySQL存储过程的权限问题小结

MySQL的存储过程,没错,看起来好生僻的使用场景。问题源于一个开发同学提交了权限申请的工单,需要开通一些权限。本来是一个很正常的操作,但在我来看是比较着急且紧迫的,说来惭愧,忙着方向规划和开发的事情&…

mysql索引引擎_mysql搜索引擎和索引那些事

mysql的存储引擎三种存储方式**InnoDB **(默认)一个文件存储表结构,一个存储数据和目录(索引)# 一个文件 book_name | author| press | price | pub_date frm文件 frame的缩写# 另一个文件(数据 目录)# | 倚天屠龙记 | egon | 北京工业地雷出版社 | 70.00 | 2019-07…

深度ip转换器手机版app_房串串经纪人版app下载-房串串经纪人版app手机版 v1.0.0...

房串串经纪人版app:专门为房产经纪人打造的辅助办公软件,提供的功能非常的全面,涵盖了房产服务过程中的各个环节,随时可以手机在线处理自己的日常工作,提高了工作的效率,操作很简单,让你更好的实…

netduino之电源参考电路MC33269DT-5.0G

手里有块netduino的板子,一直闲置未用,netduino具体是什么不知道的就百度吧,我这也不是主要讲netduino开发的,简单说就是用.net开发硬件,了解到netduino也是原来学过C#,当然我主要的工作还是嵌入式硬件开发…

PowerShell使用教程

一、说明 1.1 背景说明 个人对PowerShell也不是很熟悉,开始的时候就突然看到开始菜单中多了个叫PowerShell的文件夹,后来一点就看到某个教程视频说PowerShell很厉害但也没怎么听,再后来就看到kali也有了一些PowerShell的脚本这才意识到PowerS…

python Gunicorn

1. 简介 Gunicorn(Green Unicorn)是给Unix用的WSGI HTTP 服务器,它与不同的web框架是非常兼容的、易安装、轻、速度快。 2. 示例代码1 def app(environ, start_response):data b"Hello World\n"start_response("200 OK", [("Content-Type…

如何使处于不同局域网的计算机实现远程通信_小区自来水二次加压泵站远程监控系统方案...

一、小区自来水二次加压泵站远程监控系统方案项目概述随着城市高效快速地发展,市区规模越来越大,小区二次加压泵房将继续增加,供水公司二次加压泵房管理工作将更加繁重。目前小区二次加压供水方式主要有两种,一种是不锈钢水箱不锈…

postgresql返回行数_怎么优化你的SQL查询?以PostgreSQL为例

实际工作中,我们每个人难免都会要写SQL,执行SQL,但是有时时候执行非常慢,甚至获得不了结果。这时候你会怎么办?放弃?去苦口婆心的求隔壁房间胡子擦擦的猥琐DBA大叔?NO,正确方法是先检…

echarts 词云_python Flask+爬虫制作股票查询、历史数据、股评词云网页

自学python的数据分析,爬虫后,花了几天时间看视频学习Flask做了一个简单的股票查询网页。本来还想着加入一些其他功能,比如财务指标分析,舆情分析,最完美的想法是做成一个股票评分系统,输入股票代码可以自动…

JavaSE基础知识(6)—异常和异常处理

一、异常的理解及体系结构图 1、理解 异常:程序运行过程中发生的不正常现象。java中的错误:   语法错误   运行异常   逻辑错误 2、体系图 java程序在执行过程中所发生的异常分为两类: Error:Java虚拟机无法解决的严重问题。…

peripheralStateNotificationCB

1 /*********************************************************************2 * fn peripheralStateNotificationCB 外围设备 状态 通知 回调函数3 *4 * brief Notification from the profile of a state change. 通知来自于profile的状态改变!5 *6 * …