nw开发桌面软件,用nwjc加密源码时遇到阻碍。
发布于 8 年前 作者 qiulanzhu 7137 次浏览 来自 问答

根据官方文档: 第一步:将*.js转成*.bin nwjc source.js binary.bin

第二步:引入*.bin文件 nw.Window.get().evalNWBin(frame, ‘binary.bin’)

遇到的问题: 引入第一的*.bin文件能够正常运行。引入第二*.bin文件的文件的出现错误。

文件目录: 2.png

源码如下: login.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demo</title>
</head>
<body>
</body>
<script>
	global.__NWRequire = require('nw.gui').Window.get();
	var NWRequire = global.__NWRequire;
	
	//引入第一个*.bin
	var one = NWRequire.evalNWBin(null, 'one.bin')();
	console.log(one.sum());
	
	//引入第二个*.bin
	var two = NWRequire.evalNWBin(null, 'two.bin')();
	console.log(two.moon());
</script>
</html>

one.js

global.module.exports = function(){	
	var obj = {
		sum: function(){
			return 'sum';
		}
	}
	return obj;
}

two.js

global.module.exports = function(){
	var obj = {
		moon: function(){
			return 'moon';
		}
	}
	return obj;
}

同时引入两个*.bin,会报错误 two.png

只引入one.bin一个bin文件,就能正常执行。 sum.png

只引入two.bin一个bin文件,也能正常执行。 moon.png

2 回复

在github里找到了对应的issue: https://github.com/nwjs/nw.js/issues/5168

做桌面开发,electron会不会更好?

回到顶部