16

首先,我看到了 nwsnapshot。它没有帮助。

我正在使用node-webkit将库存管理系统构建为桌面应用程序。正在构建的项目正在使用Compoundjs(mvc javascript 库)。其中有一个明确的文件夹结构(你知道 mvc)和其中的多个 javascript 文件。

问题是 nwsnapshot 允许应用程序只有一个快照文件,但应用程序的逻辑分布在不同 javascript 文件中的所有文件夹中。

那么在将源代码发送给客户之前如何保护我的源代码?或任何其他解决方法或更聪明的方法(是的,我知道混淆)。

4

3 回答 3

19

您可以使用名为 nwsnapshot 的 nodewebkit 命令将 javascript 代码编译为二进制文件,该二进制文件将被加载到应用程序中,而无需指定任何 js 文件

nwsnapshot --extra-code application.js application.bin

在你package.json添加这个:

snapshot: 'application.bin'
于 2014-10-09T13:47:44.583 回答
2

这实际上取决于您所说的“安全”是什么意思。

您可以使用Google Closure Compiler很好地混淆您的 javascript 代码(并可能提高性能)。

我不知道有任何现成的解决方案来加密/解密您的 javascript,老实说,我会质疑这样做的必要性。

有些人认为他们需要让查看源代码变得不可能,因为他们习惯于处理编译语言,在这种语言中,您只将二进制文件发送给用户。事实是,对二进制代码进行逆向工程从未像某些人认为的那样困难,因此,如果有任何经济上的激励措施,那么发布源代码与传统的二进制发布之间几乎没有区别。

某些语言提供了对已部署资产的真正加密,例如 Microsoft 的SLPS。在我看来,这个市场是如此之小,以至于微软把它交给了一个合作伙伴(只是我的看法)。事实是大多数客户对获取您的源代码不感兴趣。他们对您在继续工作的同时以有效的方式服务和支持该代码的能力更感兴趣。

于 2013-05-08T10:08:58.680 回答
0

您可以考虑在构建过程中将JS文件合并为一个并编译它。

于 2013-05-08T07:36:23.650 回答