本文摘自PHP中文网,作者巴扎黑,侵删。
前言
本文为开发nw中遇到的各种问题,仅以记录供备忘以及遇到相同问题的人的一点点解决思路。
1. package.json中的window字段无效
原因:package.json
中的window
字段,只在main
字段为*.html
或是外部网址时有效,当为 *.js
时是无效的。
{ "name": "blog", "main": "http://php.cn/",//main为网址,下方的window设定有效 //"main": "index.html",//main为 *.html,下方的window设定有效 //"main": "index.js?1.1.11",//main为 *.js,下方的window设定无效!! "version": "0.0.1", "window": {"title": "Nw.js Demo",//如果 index.html没有title,则会显示这里的值"icon": "assest/img/logo.png",//标题栏图标"position": "center",//默认显示位置"width": 1280,"height": 680,"frame": true,//是否显示最外层的框架,设为false之后 窗口的最小化、最大化、关闭 就没有了"resizable": true,"min_width": 1028 },}
关于其他package.json中的可使用的配置见官网:
2. nw-builder一次只能打包一个项目
nw默认不包含打包成.exe文件的形式,遂nw-builder
项目为自动将nw应用打包压缩成可执行文件的程序。
详见:
假设nw-builder的配置文件如下:
var nw = new NwBuilder({ version: '0.14.7', files: './app/**',//nw应用项目目录 platforms: ['win32'], });
配置字段files指定了app文件夹下的所有文件,但app文件夹下存在两个项目:nw-demo和zfile-explorer
?
对于这种情况nw-builder只会打包出按文件名排序的第一个文件夹项目:nw-demo
?
3. 在nw中植入全局变量的方法
前提:需要在nw项目中的package.json中的main字段指定为*.js文件。或是指定本地的.html文件后再载入js文件
package.json文件{ "name": "nw-demo", "version": "1.0.0", "description": "", "main": "./main.js?1.1.11", "scripts": {"start":"cd ../../ & gulp nw" }, ...}
在mian字段指定的js文件中,再使用nw.Window.open
来载入指定本地页面或是外部网址,如:
main.js文件:nw.Window.open('./view/index.html', {height:600,width:800}, function (win) { });
在这个js文件中可以使用4种方法植入全局变量或全局方法:
1、将全局变量使用var方式声明赋值
2、将全局变量直接赋值,无定义
3、将全局变量挂载到window
上
4、将全局变量挂载到global
上
相关阅读 >>
json.parse()和json.stringify()的性能测试(示例)
更多相关阅读请进入《javascript》频道 >>
Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者