NW.js开发环境搭建
NW.js开发环境搭建
文章目录
- NW.js开发环境搭建
- 简介:NW.js是什么?
- 1. 选择Build Flavors SDK
- 2. 下载安装NWJS
- 3. 创建第一个应用
- 4. 运行应用
- 5. 打包应用
- 6. APIs
- 扩展
- 1. 配置文件(package.json)
- 2. 使用NW.js APIs
- 3. 使用Node.js API(`require`)
- 4. 开发工具与调试
- 5. NW.js中独立环境和混合环境模式
- 5.1 独立环境模式
- 5.1.1 浏览器环境
- 5.1.2 Node环境
- 5.2 混合环境模式
- 5.3 混合环境模式和独立环境模式对比
- 6. JavaScript源码保护
- 7. 应用签名
- 7. 自动更新
- 8. Node.js 自定义模块
- 9. ES6与NodeJS模块导入导出区别
- NodeJs
- ES6
- 10. [ES6 入门教程](https://es6.ruanyifeng.com/)
简介:NW.js是什么?
NW.js基于Chromium和Node.js。它使您可以直接从浏览器中调用Node.js代码和模块,也可以在应用程序中使用Web技术。此外,您可以轻松地将Web应用程序打包到本机应用程序。
NW.js官网
NW.js中文网
1. 选择Build Flavors SDK
NW.js支持各种构建样式以减小应用程序大小。当前,NW.js支持以下构建风格:
- SDK风格(SDK):内置了对DevTools和NaCl插件的支持。SDK风味与0.13.0之前的版本具有相同的功能(适用于开发调试环境);
- 正常风格(Normal):是不带DevTools和NaCl插件支持的最低版本(适用于发布环境)。
建议您选择SDK构建风格来开发应用程序,这使您可以使用DevTools调试应用程序。
2. 下载安装NWJS
对于国内用户,如果下载连接下载速度太慢的话,可以考虑的可选项是:
- 淘宝NPM镜像
- 百度网盘链接,提取码为: ivh3
或者进入官网下载根据自己需要下载对应的版(我这里下载的是mac版本的v0.44.5,osx-x64,normal
v0.44.5,osx-x64,sdk
下载后直接解压,将
nwjs.app
拖到应用程序中(便于从桌面点击图标启动)
设置别名和环境变量(以便从命令行可直接启动)
#打开bash_profile环境变量配置文件 vim ~/.bash_profile#设置环境变量-nwjs的别名 alias nw="/Applications/nwjs.app/Contents/MacOS/nwjs"#应用环境变量 source ~/.bash_profile#命令行输入nw 回车启动即可(等同于桌面点击图标启动) nw
启动后如下如:
3. 创建第一个应用
创建package.json文件
通过node.js初始化一个项目(首先,确保你已经安装好了
node.js
的环境),生成package.json
文件,package.json
是JSON 格式格式的配置文件.main
属性定义了应用首页, 如本例的"index.html"
.name
则定义了应用名称. 具体查看 配置文件章节.#创建项目目录 mkdir NWDemo #进入项目根目录 cd NWDemo #执行初始化生成package.json npm init
package.json
{"name": "test1","version": "1.0.0","description": "","main": "index.html","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"keywords": [],"author": "","license": "ISC" }
您可以将
"main"
属性设置如"main.js"
的js文件. 该文件在应用启动时默认不打开窗口并在后台执行。 您可以稍后进行一些初始化并手动打开窗口。 例如:// 初始化你的应用程序之后 ... nw.Window.open('index.html', {}, function(win) {});
创建入口页面
index.html
<!DOCTYPE html> <html><head><title>Hello World!</title></head><body><h1>Hello World!</h1></body> </html>
4. 运行应用
进入我们创建的项目中,执行nw .
运行当前应用(nw .
是NW.js执行文件)
- Windows系统中是
nw.exe
; - Linux系统中是
nw
; - Mac系统中是
nwjs.app/Contents/MacOS/nwjs
;
#进入项目根目录
cd NWDemo
#运行
nw .
【注意】
Windows系统中 , 可拖拽包含 package.json
的文件夹至 nw.exe
直接运行应用。
5. 打包应用
可以使用以下工具自动完成打包NW.js应用进行发布 .
- nwjs-builder-phoenix (推荐:用于为Windows,macOS和Linux构建和打包可分发的NW.js应用程序。)
- nw-builder
或者可以使用以下步骤手动构建应用 ,具体步骤参考手动构建应用
这里使用nwjs-builder-phoenix
构建方式详细使用参见github
6. APIs
详细使用参见地址
扩展
1. 配置文件(package.json)
{"name": "nw-demo", #应用名称,应确保该字段内容全局唯一性"main": "index.html", #应用起始页"nodejs":true, #是否支持Node"node-main":"xxxx", #指定Node.js脚本文件路径并且它将在加载DOM窗口之前启动Node环境时执行"domain":"xxxx", #指定主机域名"single-instance":false, #是否以单实例运行(false则允许应用多开,默认 true)"bg-script":"xxxx", #应用启动时执行的后台脚本/***窗体样式控制(窗口子字段默认情况被继承到使用 window.open()或 <a target="_blank">打开的子窗口*未继承子字段将被设置为打开窗口时的默认值)*列表如下:* fullscreen -> false* kiosk -> false* position -> null* resizable -> true* show -> true*/"window":{ "id":"xxx", #内含窗口尺寸与位置的状态的窗口ID,打开同ID的窗口时会还原该状态"title":"xxx", #NW.js创建的窗口标题 . 在应用启动时显示的标题信息"width":200, #窗口宽高"height":200, #窗口高"toolbar":true, #是否显示导航栏中的工具条"icon":"xxxx", #窗口图标路径"position":"xxx", #窗口位置:默认 null(不固定) , center(屏幕居中) , mouse(鼠标所在位置)"min_width":100, #窗口最小宽高"min_height":100,"max_width":500, #窗口最大宽高"max_height":500,"as_desktopLinux":false, #X11环境下,作为桌面背景显示(true显示, false不显示)"resizable":true, #是否可调整窗口大小(在OS X上将该属性设置为 false,并将frame设置true,#用户还是可以将窗口全屏显示。只有将全屏也设置为 false才可禁用全屏控件。"always_on_top":false, #是否允许窗口始终置顶(在其余窗口之上,true允许, false不允许)"visible_on_all_workspaces Mac & Linux",: #支持多工作区的系统(如Mac & Linux)中,将窗口同时显示#在所有工作区中(true允许, false不允许)"fullscreen":false, #是否允许窗口全屏(窗体和全屏框架(frame)应当一致,窗口设置为 false时,#则全屏框架(frame)不应设为 true,避免窗体将阻止鼠标获取屏幕边缘)"frame":true, #窗口是否为框架(窗体和全屏框架应当一致,窗口设置为 false时,则全屏框架#不应设为 true,避免窗体将阻止鼠标获取屏幕边缘.)"show_in_taskbar":true, #是否允许显示在任务栏或停靠栏中(true允许, false不允许,默认 true)"show":true, #启动时是否显示应用(true显示, false不显示)"kiosk":true, #是否使用 Kiosk模式(该模式即应用将全屏并阻止用户离开(关闭)应用,比如常见#的公共触摸屏演示,银行排队取票机洁界面,直到页面返回响应) "transparent":false, #窗口是否透明(true允许, false不允许,默认 false)#窗口的透明度由CSS中的背景透明值控制,#使用命令行参数 --disable-transparency 可完全禁止透明功能.#使用命令行参数 --disable-gpu 禁用GPU后,可实现透明窗体的穿透点击},/***WebKit特性控制*/"webkit":{"double_tap_to_zoom_enabled":false, #是否启用两指缩放功能(true允许, false不允许,默认 false)"plugin":true, #是否可加载扩展插件,比如Flash插件(true允许, false不允许,默认 true),},"user-agent":"xxx", #重写应用请求页面中的 User-Agent信息#以下变量内容可以动态设置 User-Agent内容:#%name: 替换配置文件中的name字段 .#%ver: 替换配置文件中的version字段 .#%nwver: 替换NW.js版本 .#%webkit_ver: 替换WebKit引擎版本 .#%osinfo: 替换系统以及CPU信息 ."chromium-args":"xxx", #分发应用时自定义chromium命令行参数至应用(想要禁用GPU加速视频显示,#只需添加添加参数 "chromium-args" : "--disable-accelerated-#video".)"crash_report_url":"xxx", #应用崩溃时,崩溃转存报告将被发送到设定的服务器"inject_js_start":"xxx", #CSS文件执行之后 , 其他DOM或脚本运行之前 , 执行的JavaScript代码"inject_js_end":"xxx", #页面document对象加载之后 , 触发 onload之前 , 执行的JavaScript#代码 . 主要作为新窗口中 Window.open()的参数执行JavaScript代码 "additional_trust_anchors", #证书作为附加可用的根证书使用 , 允许连接自签名证书或者CA签发机构颁发#证书的服务(Array - 数多个PEM编码的证书组成的数组)"dom_storage_quota":500, #Mb为单位的DOM存数限制数量(建议设置为期望值的两倍)/***其他字段*/"description":"xxx" #配置的描述说明,以.结束"version":1.0, #应用版本信息"maintainers":[{ #维护成员"name": "Bill Bloggs","email": "billblogs@bblogmedia.com","web": "http://www.bblogmedia.com",}],"contributors":[{ #贡献者,与维护成员格式一致,但首个应为作者"name": "xxx","email": "xxx","web": "xxx",}],"bugs":"xxx", #提交错误的网址,如mail或http地址"licenses":"xxx", #许可证列表"dependencies":"xxx", #必要依赖,组的顺序非常重要,较前条目具有较高优先级."homepage":"xxx", #网站URL地址
}
2. 使用NW.js APIs
NW.js
中的APIs都被加载到nw
全局对象中,并能够在javascript代码中直接使用
旧版本加载
nw
方式为require('nw.gui')
,返回nw
对象。
举个
NW.js开发环境搭建相关推荐
- Vue.js学习总结(1)——Windows下Vue.js开发环境搭建
Vue.js是一套构建用户界面的 "渐进式框架".与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已 ...
- 在windows环境下基于sublime text3的node.js开发环境搭建
摘自:http://blog.sina.com.cn/s/blog_5a6efa330102vcla.html (略有修改) 首先安装sublime text3,百度一堆,自己找吧.理论上subli ...
- Vue.js开发环境搭建的介绍
包含了最基础的Vue.js的框架,包含了打包工具和测试工具,开发调试的最基本的服务器,不需要关注细节,只需关注Vuejs对项目的实现 npm在国内的网络使用较慢,所以推荐下载安装淘宝的镜像 1: 2: ...
- vue.js开发环境搭建
环境准备 Node.js Javascript的运行时环境 npm Node.js下的包管理工具 webpack 前端资源模块化管理和打包工具 vue-cli 脚手架构建工具 cnpm npm的淘宝镜 ...
- 基于 next.js + mdx 搭建组件库文档项目(一) -- 开发环境搭建
说明 之前使用过 Docz 来作为组件库文档搭建工具,它基于 gatsby , 提供了高度的定制化能力,但是截止 2021-06-22, Docz 停留在 v2.3.1(2020-04-05) 已经一 ...
- windows下pomelo开发环境搭建及JS乱码问题
from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...
- 计算机系统的搭建步骤,电脑搭建Node.js开发环境的操作教程[多图]
电脑如何搭建Node.js开发环境?近日有用户询问怎么在Win7系统电脑上搭建Node.js开发环境,今天教程之家就给大家分享Node.js开发环境的搭建教程. 操作步骤: 1.下载Node.js官方 ...
- 【鸿蒙 HarmonyOS】HarmonyOS 开发环境搭建 ( Node.js 安装 )
文章目录 一.下载 Node.js® 安装包 二.安装 Node.js 三.验证 Node.js 鸿蒙 HarmonyOS 开发环境 DevEco Studio 安装 , 参考博客 : [鸿蒙 Har ...
- 《Node.js入门》Windows 7下Node.js Web开发环境搭建笔记
最近想尝试一下在IBM Bluemix上使用Node.js创建Web应用程序,所以需要在本地搭建Node.js Web的开发测试环境. 这里讲的是Windows下的搭建方法,使用CentOS 的小伙伴 ...
- 手把手教你学node之搭建node.js开发环境
搭建node.js开发环境 本文只针对在Linux或者Mac下面.至于使用 Windows 并坚持玩新技术的同学,我坚信他们一定有着过人的.甚至是不可告人的兼容性 bug 处理能力,所以这部分同学麻烦 ...
最新文章
- 浅谈Sharepoint权限
- UVA11255 Necklace Burnside、组合
- 2019 年 CNCF 中国云原生调查报告
- 查找数组中任一峰值的下标
- Farseer.Net ORM开源框架 V0.x 教程目录
- 使用睡袋_睡袋能用几十年?!只要你照着做(一)
- POJ-1556 The Doors 线段相交+最短路
- Redis 的快照为什么不会阻塞其他请求?
- java程序退出自动保存_你知道如何自动保存 Spring Boot 应用进程号吗
- LanguageTool最简范例代码
- Python openpyxl文档
- 15针VGA公头焊接示意图
- php 查看session 时间,PHP 会话 (session 时间设定) 使用入门
- 学习笔记(5.7~5.10)——深度学习之回归(梯度下降法Gradient Descent)
- 解决VMware虚拟机无法联网问题
- 基于Java的雷电游戏设计(含源文件)
- WPF实现Aero毛玻璃效果
- ansys添加力矩_ansys施加力矩方法
- 航拍江西仙女湖初晴 云雾缭绕宛如仙境
- 智能手表FCC CE最新法规简述
热门文章
- stc12c5a60s MQ系列传感器及报警
- unity3d游戏资源提取
- Google IO 2018开发者大会:Android P
- 本地html网页载入很慢,网页打开很慢是什么原因?怎么解决
- java 获取视频第一帧 | Java工具类
- PVH Corp.任命Stefan Larsson担任新设总裁职位
- 阿里云:疫情期间全力保障教育平台“停课不停学”
- HTML5中定位网页元素重点总结
- win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
- 只道情深,奈何缘浅!