使用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/,下载最新版本安装.安装之后在命令行中使用 ...
随机推荐
- bootstrap 翻页的状态
翻页的状态 下面的实例演示了上表中所讨论的 class .disabled 的用法: <!DOCTYPE html><html><head><meta htt ...
- 关于cocos2dx for lua资源加载优化方案
之前我写游戏加载都是从一个json文件写入要加载的文件名来实现加载,但是如果资源 比较多的情况下,会导致非常难管理,需要逐个写入.所以换了另外一种方式来加载文件. 首先,我是通过场景之前的切换时候,加 ...
- unity3d sqlite数据库的读写方法
首先,我们要从unity的安装路径中复制mono.data.sqlite.dll和sqlite3.dll两个动态链接库到untiy的plugins目录下,如下图所示: 使用navicat for sq ...
- 当c++遇上音乐
运用到的函数 #include <windows.h> Beep( f, t ); Sleep( t ); eep() 函数可以让蜂鸣器发出频率为f赫兹,音长大约为 2t 毫秒的音.(注意 ...
- Windows7设置局域网文件共享
首先要实现共享必须设置共享的机器与访问共享的机器在同一个工作组中. 右键桌面上的计算机图标=>属性 如果不一样的话,就需要点击[更改设置] 右键要共享的文件或者文件夹,点击[共享]打开共享标签: ...
- 文件处理seek以及修改内容的两种方式
f.seek(offset,whence)offset代表文件的指针的偏移量,单位是字节byteswhence代表参考物,有三个取值# 0:参照文件的开头# 1:参照当前文件指针所在位置# 2: 参照 ...
- 20.Yii2.0框架多表关联一对多查询之hasMany
目录 新手模式 hasMany关联模式查询 新建mode层Article.php 新建mode层Category.php 新建控制器HomeController.php 新手模式 用上次的查询结果,作 ...
- leetcode-8-pointer
void deleteNode(ListNode* node) { *node = *node->next; }
- poj3617 best cow line(贪心题)
Best Cow Line Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 32687 Accepted: 8660 De ...
- POJ 1791 Parallelogram Counting(求平行四边形数量)
Description There are n distinct points in the plane, given by their integer coordinates. Find the n ...