nwjs是什么?
nodejs+webkit,类似electron,但是可以直接在dom中调用node的功能,非常方便。
纯js编写的node模块可以直接调用,含C++调用的模块需要重新编译(官网有教程,挺简单,这里不再赘述)
nwjs的独立进程是什么?
nwjs的配置文件package.json中除了可以配置main作为UI界面显示,还可以配置一个node-main字段,指向一个nodejs脚本,这个脚本会在dom创建之前运行,一直在后台保持到nwjs进程销毁。
并且这个独立进程里面的方法可以暴露给dom,让dom去调用。
配置文件如下:
{
"name": "HooYooMapGame",
"main": "index.html",
"node-main": "node/index.js"
}
npm安装模块在package.json同目录下安装即可
nwjs的独立进程方法如何公开?
这里有个坑,我们网上搜到的都是说让用exports公开,很自然的我们会想到module.exports=xxx进行公开,但是到了浏览器并没有找到公开的方法。
通过不断的测试实践,发现正确的写法是这样的:
node/index.js
var seconds = 0;
setInterval(function() {
seconds++;
}, 1000);
exports.secondsSinceStart = function() {
return seconds;
}
nwjs的独立进程方法如何调用?
如下,在index.html中书写js,什么也不需要准备,直接调用process.mainModule.exports下的方法。
index.html
//index.html
var seconds = process.mainModule.exports.secondsSinceStart();
console.log(`系统启动了${seconds()}秒`);