使用electron将单页面vue webapp 打包成 PC端应用
在看张鑫旭博客得时候看到了electron这个东西,来了兴趣,就按照上面写的将已经做好得vue项目拿来试了试,出乎意料得顺利
electron简单说下electron,就是把 chrome内核和你的项目文件打包成一个程序,和移动端得混合应用有点类似。当然实现起来肯定没有说得这么简单得。
那么怎么做呢?
首先,你电脑上面要有git 和 node ,git可以不要,不过最好安装了,Node必须要。
第二步 使用git clone https://github.com/electron/electron-quick-start 或者直接去github上面下载
第三步 npm install 或 安装淘宝源下载速度快点,安装好之后 cnpm install 将必要得模块下载下来
第四步 将你做好得 vue 项目所需得文件放在 electron 项目得根目录下面,理论下你得 vue项目能直接在浏览器下面跑起来就没问题 注意路径问题,项目得路径必须要是相对路径,不要用绝对路径
第五步 运行 npm start 就可以跑起来了,有没有很酷
第六步 全局安装打包工具,安装命令npm install electron-packager -g
第七步 打包 electron-packager . test --out ../electron . 表示将当前目录所有文件打包 test表示打包之后得名字 --out表示输出 ../electron 表示输出路径
打包完之后运行效果
关于界面配置
在main.js 当中通过配置 BrowserWindow 来改变外观
width Integer - 窗口宽度,单位像素. 默认是 800 .
height Integer - 窗口高度,单位像素. 默认是 600 .
x Integer - 窗口相对于屏幕的左偏移位置.默认居中. y Integer - 窗口相对于屏幕的顶部偏移位置.默认居中. useContentSize Boolean - width 和 height 使用web网页size, 这意味着实际窗口的size应该包括窗口框架的 size,稍微会大一点,默认为 false . center
Boolean - 窗口屏幕居中. minWidth Integer - 窗口最小宽度,默认为 0 .
minHeight Integer - 窗口最小高度,默认为 0 .
maxWidth Integer - 窗口最大宽度,默认无限制.
maxHeight Integer - 窗口最大高度,默认无限制.
resizable Boolean - 是否可以改变窗口size,默认为 true .
movable Boolean - 窗口是否可以拖动. 在 Linux 上无效. 默认为 true .
minimizable Boolean - 窗口是否可以最小化. 在 Linux 上无效. 默认为 true .
maximizable Boolean - 窗口是否可以最大化. 在 Linux 上无效. 默认为 true .
closable Boolean - 窗口是否可以关闭. 在 Linux上无效. 默认为 true .
alwaysOnTop Boolean - 窗口是否总是显示在其他窗口之前. 在 Linux上无效. 默认为 false .
fullscreen Boolean - 窗口是否可以全屏幕. 当明确设置值为When false ,全屏化按钮将会隐藏,在 macOS 将禁用. 默认 false .
fullscreenable Boolean - 在 macOS 上,全屏化按钮是否可用,默认为 true . skipTaskbar Boolean - 是否在任务栏中显示窗口. 默认是 false .
kiosk Boolean - kiosk 方式. 默认为 false . title String - 窗口默认title. 默认 "Electron" .
icon NativeImage - 窗口图标, 如果不设置,窗口将使用可用的默认图标.
show Boolean - 窗口创建的时候是否显示. 默认为 true .
frame Boolean - 指定 false 来创建一个 Frameless Window. 默认为 true .
acceptFirstMouse Boolean - 是否允许单击web view来激活窗口 . 默认为 false .
disableAutoHideCursor Boolean - 当 typing 时是否隐藏鼠标.默认 false .
autoHideMenuBar Boolean - 除非点击 Alt ,否则隐藏菜单栏.默认为 false .
enableLargerThanScreen Boolean - 是否允许允许改变窗口大小大于屏幕. 默认是 false .
backgroundColor String -窗口的 background color 值为十六进制,如 #66CD00 或 #FFF 或 #80FFFFFF (支持透明 度). 默认为在 Linux和 Windows 上为 #000 (黑色) , Mac上为 #FFF (或透明).
hasShadow Boolean - 窗口是否有阴影. 只在 macOS 上有效. 默认为 true .
darkTheme Boolean - 为窗口使用 dark 主题, 只在一些拥有 GTK+3 桌面环境上有效. 默认为 false .
transparent Boolean - 窗口 透明. 默认为 false .
type String - 窗口type, 默认普通窗口. 下面查看更多. titleBarStyle String - 窗口标题栏样式. 下面查看更多.
webPreferences Object - 设置界面特性. 下面查看更多.
使用electron将单页面vue webapp 打包成 PC端应用的更多相关文章
- 利用HBuilder将vue项目打包成移动端app
事先准备,开发完成的web app项目(也可以利用vue-cli脚手架构建vue模板项目),npm run dev可以正常预览的项目 1,将项目目录下config文件内index.js中assetsP ...
- 用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)
1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 ...
- vue项目打包成html,在本地点击直接能打开
默认情况下vue项目打包后,本地打开index.html是空白的,有报错.Failed to load resource: net::ERR_FILE_NOT_FOUND 这时需要修改config-& ...
- cordova+vue 项目打包成Android(apk)应用
现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...
- vue+hbuilder 打包成移动app
查看了很多网上写的改来改去都在手机上运行不起来,运行起来又是白屏:最后放弃,自己结合文档搞吧! 1. 项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPubl ...
- 【Electron】Electron开发入门(四):操作PC端文件系统
一.调用PC端默认方式打开本地文件 在main.js里 // 打开系统本地文件或者网页链接 const {shell} = require('electron'); // Open a local f ...
- Node和Electron开发入门(四):操作PC端文件系统
一.调用PC端默认方式打开本地文件 在main.js里 // 打开系统本地文件或者网页链接 const {shell} = require('electron'); // Open a local f ...
- 单页面vue引入百度统计的使用方法!
最近组长安排着做一个项目,h5的应用下载项目,想着做起来还是比较容易,可是看到提出的需求,我就有点懵逼了!需要对应用的下载进行统计!!!我当时就想着我前端怎么对页面点击按钮就行数据统计啊!我以前的项目 ...
- cordova+vue 项目打包成APK应用遇到的问题和解决方法
公司前端界面用的是vue,我要嵌入到Android中生成App第一步:安装nodenode安装:直接进入官网https://nodejs.org/zh-cn/,下载最新版本安装.安装之后在命令行中使用 ...
随机推荐
- CPP-基础:新标准 C++iostream
在新的标准 C++ iostream 库中: 1. open 函数不采用第三个参数(保护参数). 2. 无法从文件句柄创建流. 3. 除了几个例外,新的标准 C++ 库中的所有名称都在 std 命名空 ...
- laydate时间控件绑定回调事件
onclick="laydate({istime: true, format: 'YYYY-MM-DD',choose:checkDate});" //回调函数内容 functio ...
- 01_2_Servlet简介
01_2_Servlet简介 1. Servlet简介 Servlet是服务器小应用程序 用来完成B/S架构下,客户端请求的响应处理 平台独立,性能优良,能以线程方式运行 Servlet API为Se ...
- 2019.5.18-5.19 ACM-ICPC 全国邀请赛(西安)赛后总结
第一次出去比赛经验太少了!!!果然最大目的是长见识和受刺激Orz 以下流水账: 背了本两千两百页的牛津高阶英汉双解词典,背了吃的,背了衣服……以后这些东西统统不带,买本口袋词典即可.上述物品这次比赛全 ...
- bp神经网络原理
bp(back propagation)修改每层神经网络向下一层传播的权值,来减少输出层的实际值和理论值的误差 其实就是训练权值嘛 训练方法为梯度下降法 其实就是高等数学中的梯度,将所有的权值看成自变 ...
- PAT 乙级 1048
题目 题目地址:PAT 乙级 1048 思路 这道题坑的地方在于:即使B的长度小于A,仍然要对B补齐,也就是说最终结果的长度取决于A和B中长度更长的那一项:即只要A.B长度不一致,就要对短的一个进行补 ...
- DELL PowerEdge R620安装Windows server(你想将windows安装在何处”找不到任何本地磁盘,“找不到驱动器”)已解决!
你可能碰到过DELL服务器上安装Windows server系列系统时无法识别或找不到硬盘的问题,对于DELL PowerEdge11-14代机器的,大家可以采用DELL的Lifecycle cont ...
- HTML5一些特殊效果分享地址集合
页面预加载图片原生js: http://www.cnblogs.com/st-leslie/articles/5274568.html HTML5 FileReader读取本地文件: http://n ...
- linux系统装载ELF过程
参考:程序员的自我修养 fork -->execve() //----kenerl space--------------- sys_execve() /*arch\i386\kernel\pr ...
- usb driver编写 (转)
在开头补上LDD3的一句话:如果 USB 驱动没有和另一种处理用户和设备交互的子系统(例如 input, tty, video, 等待)关联, 驱动可使用 USB 主编号为了使用传统的和用户空间之间的 ...