Ubuntu环境下使用NW.js对web应用封装
前言
相对于偏向应用的windows系统,Linux系统更偏向于开发,因此对于依赖Windows应用的人来说,缺了很多常用软件会很不习惯,本文的目的便是通过两个Demo来引出后面的教程——通过NW.js来封装你想要的Web应用。以Ubuntu 16.04为例(14.04可能无法兼容部分依赖)。
关于NW.js
官网:https://nwjs.io/
github:https://github.com/nwjs/nw.js
1. Demo - Wechat
2. Demo - YoudaoDict
3. 准备工作
安装nodejs
sudo apt-get install nodejs
使用 ‘nodejs --version’ 可以查看安装成功的版本
安装npm
sudo apt-get install npm
使用 ‘npm --version’ 可以查看安装成功的版本
安装NW.js
sudo npm install nw -g
安装成功后会显示目录结构,使用 ‘nw --version’ 可以查看安装成功的版本
4. NW.js使用教程
(1) 创建一个html文件,里面嵌入你想定制的web应用链接
<html><head><meta charset="utf-8"><title>Wechat</title></head><body><iframe src="https://wx.qq.com/"/></body>
</html>
(2) 创建一个名为package的json文件,这是固定名称
{"name":"Wechat","main":"Wechat.html","window":{"title":"Wechat","toolbar":false,"frame":true,"position":"center","always-on-top":true,"width":1000,"height":800}
}
(3) 将二者打包成nw文件
sudo cat package.json Wechat.html > Wechat.nw
(4) 将所需文件放在nw程序同级目录中
(5) 创建一个sh启动脚本,路径请改为自己的nw程序路径和应用路径
#!/bin/bash
cd /usr/local/lib/nwjs-sdk-v0.27.5-linux-x64
./nw /home/zengyu/git/NWJS-Demo/Wechat/Wechat.nw
(6) 在/usr/share/applications/下创建一个后缀名为desktop的快捷方式文件,其中内容的路径请改为自己的启动脚本路径和图标路径
sudo gedit /usr/share/applications/Wechat.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Wechat
Exec=sh /home/zengyu/git/NWJS-Demo/Wechat/Wechat.sh
Icon=/home/zengyu/git/NWJS-Demo/Wechat/Wechat.jpg
Categories=GTK;Network;message;
Comment=Wechat
Terminal=false
Type=Application
(7) 开始使用你定制的应用,双击快捷方式,启动后右键单击图标锁定到启动器
5. NW.js安装及运行过程中可能出现的问题及解决方案
(1) 缺少部分依赖
sudo apt-get install -f
可以自动安装缺少的依赖
(2) nw安装失败
从官网下载sdk:https://nwjs.io/
(3) 无法加载以下来源的扩展程序:xxxxxx\xxx.nw.清单文件缺失或不可读
- 可能原因1:检查所有相关文件编码,采用中文编码会导致该问题
- 可能原因2:html文件、json文件、nw文件是否都位于nwjs目录下的nw程序同级目录中
6. 推荐一些基于electron封装的应用以供使用和学习借鉴
关于electron
- 官网:https://electronjs.org/
- github:https://github.com/electron/electron
- 钉钉:DingTalk
- 微信:Wechat
7. 参考文献
- 为什么微信没有for linux?
- Ubuntu环境下的nwjs安装使用
- NW.js打包Axure原型(HTML)文件常见问题
- nwjs安装演示
8. 源码
Ubuntu环境下使用NW.js对web应用封装
Ubuntu环境下使用NW.js对web应用封装相关推荐
- nwjs sdk linux x64,Ubuntu环境下的nwjs安装及使用教程
需求:通过nwjs实现一个可以全屏显示,防止用户退出浏览器的演示用app 一.安装Node.js sudo apt-get install nodejs sudo apt-get install np ...
- Ubuntu环境下挂载新硬盘 --硬盘要挂载在某个文件夹下面
Ubuntu环境下挂载新硬盘 Ubuntu环境下挂载新硬盘 可以参考这两个教程,在挂载的时候,下面的代码报错 sudo mount -t ext4 /dev/sdb /devdata 原因是硬盘要挂载 ...
- linux鼠标触摸屏应用程序,在Ubuntu环境下实现插入鼠标自动关闭触摸板
本文将为你介绍在 Ubuntu 环境下也能实现插入鼠标自动关闭触摸板的功能. 如果你经常在笔记本上用鼠标,你就会对因为偶尔碰到触摸板而打断自己的操作而憋屈了.当你用外接鼠标的时候关闭触摸板就是一个很好 ...
- ubuntu环境下如何解决svn提交出现can‘t check path ‘/home/...‘
在ubuntu环境下用svn提交代码出现这个错误 can't check path '/home/...' 因为我们提交有限制 我一开始是这样写的 svn commit -m $ ' norevie ...
- linux 下 storm环境搭建,Storm在Ubuntu环境下的单机部署
Storm在Ubuntu环境下的单机部署 目录 查看Ubuntu 安装JDK 安装Pythod 安装Zookeeper 安装ZeroMQ 安装Jzmp 安装Storm 查看Ubuntu是32位还是64 ...
- 【转载】Ubuntu环境下配置Android Studio
之前学习Android开发的时候,一直跟各种教程一样,使用的是Eclipse+ADT,主要是比较方便,容易上手,特别是对于习惯用Eclipse开发java的朋友来说,上手更是好无压力.但毕竟Eclip ...
- ubuntu安装python环境_AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装
AirSim 无人驾驶教程(1)Airsim 在Ubuntu环境下的安装 说实话我自己内心是不看好无人驾驶的短期普及的,但是通过对无人驾驶的研究可以实现对一些科学知识的掌握和探索.通过无人驾驶的仿真环 ...
- ubuntu环境下redis的安装配置
ubuntu环境下redis的安装配置 1. 简要介绍 dis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表 ...
- UBUNTU环境下编译的openwrt
UBUNTU环境下编译的openwrt 请执行这个命令以安装编译依赖包:sudo apt-get update 然后再输这个: sudo apt-get install gcc g++ binutil ...
最新文章
- Science公布年度十大科学突破!新冠疫苗居首位
- 【转】Java里如何实现线程间通信
- Android入门学习教程PDF免费下载
- 自动摘要php,phpcms修改手动摘要255字符、自动摘要200字符及取消自动摘要
- java 某点 旋转_java-如何围绕某个点旋转顶点?
- android 休眠唤醒驱动流程分析,Android4.0.4休眠唤醒机制分析(基于MSM8260)
- Lua笔记3 函数和数组
- Vue.js 2.6尝鲜
- [Linux] 通过shell给unix socket发送数据
- Revit二次开发之创建共享参数及绑定共享参数【比目鱼原创】
- Windows | 管理员权限打开CMD 快捷键
- hal定时器回调函数
- 各大网站收录入口| 各大搜索引擎提交 | 搜索引擎提交地址
- CATIA二次开发—视图及视点
- PYTHON处理年月日的英文转换
- 即时通讯开发,聊天软件搭建
- webview 禁止苹果自动下拉_苹果开发者账号申请必备:双重认证教程!
- word详细使用方法(①)
- java 节气_java计算某个日期是什么节气(24节气)
- instrument Time Profiler总结