s mainly to be used as an option of Window.open() to inject JS in a new window.
http://docs.nwjs.io/en/latest/References/Manifest%20Format/#inject_js_start
inject_js_start
字段指向本地的js文件,他可以在加载的任何页面的任何页面js执行前执行。
package.json文件:
{
"name": "blog",
"version": "1.0.0",
"main": "./main.html",
"inject_js_start": "./js/inject_js_start.js",//设置所有页面前植入的js文件地址
"author": "xxcanghai@gmail.com",
"license": "ISC",
}
在植入的js文件中,将global中的变量赋值到当前页面window中
./js/inject_js_start.js文件:
//将node的global中的变量写入每个即将打开的页面的js的window对象中
window["xxcanghai_1"] = global["xxcanghai_1"]
之后即可在任何nw打开的页面中通过window.xxcanghai_1
来访问全局变量了。
4. nwjs主进程出现异常后不显示窗体
现象:nwjs主进程出现异常后不显示窗体,不弹出错误提示,也不会自动结束进程
原因:package.json
文件中的main
字段为.js
文件,同时此js文件出现error时会出现此问题。
解决方案:package.json
文件中的main
字段使用.html
文件,然后再载入要执行的nw主程序js文件即可。这样即使报错了也会显示出空窗口,同时也可以通过开发者工具栏查看问题原因,用户也可以关闭应用,不至于无法结束进程。
其他教程文章
使用 NW.js 将 Web 应用打包为桌面应用
https://chensd.com/2016-04/Transfer-web-app-to-desktop-app-with-NW-js.html
NW.js 入坑指南:
https://segmentfault.com/a/1190000003870613