序言

最近人变懒了,很久没有更新博客了,决定趁周末来一发!

公司要开发一个PC跨平台工具,参考了electron、nwjs、有道hex。

其中,electron虽然成熟,已经开发出的成功产品也一大堆,包括微软的VSC,但他不支持xp,但开发的工具面向的使用对象是国内用户,所以排除;

有道hex很久没维护了,且开发出的成熟产品基本没有,也排除。

剩下就是nwjs了,其实nwjs几年前就使用过,当时名字还叫node-webkit,还开发过一个开发人员小工具:https://github.com/hisune/hisune-coder-tools,但这次使用nwjs还是遇到了一些坑,下面简单说一下。

有哪些坑要踩

坑1:

0.13.2的nwbuidler有bug,打包会提示文件缺失(仅在window下进行测试)

解决:

指定版本,加参数-v 0.12.3打包成功,官方推出了新版,但打包工具未同步更新实在是不应该!截止到写这篇博文,新版本至今未修复!

坑2:

crypto的命名问题,由于需要使用这个第三方模块,引入进来发现用不了

解决:

原因是,nwjs已经有了叫crypto的全局变量,重命名require后的变量即可解决。

坑3:

showItemInFolder在win7下有bug,指定目录路径没问题,但是却无法打开窗口。

解决:

var path = require('path'); // 这里有一个win7无法打开的坑
var filePath = downFilePath(name);
var root = path.resolve(filePath);
gui.Shell.showItemInFolder(root);

坑4:

win下zip压缩的mac安装包,在mac下面的命令行unzip后无法打开,需要在mac图形界面解压缩才能用

解决:

现在的解决办法只能是讲文件拷贝到mac下打zip包才行。

以上是一些比较明显的坑,还有很多小坑没有列举出来,各位慢慢体会。。。

如果您觉得您在我这里学到了新姿势,博主支持转载,姿势本身就是用来相互学习的。同时,本站文章如未注明均为 hisune 原创 请尊重劳动成果 转载请注明 转自: 说一下nwjs开发中遇到的几个坑 - hisune.com