首先,我看到了nwsnapshot。并没有帮助。
我正在使用node-webkit将库存管理系统构建为桌面应用。正在构建的项目使用 compoundjs (mvc javascript库)。它有一个明确的文件夹结构(你知道mvc)和里面的多个javascript文件。
问题是nwsnapshot允许应用程序只有一个快照文件,但应用程序的逻辑分布在不同的javascript文件中的所有文件夹中。
那么如何在将源代码发送到客户端之前保护我的源代码?或任何其他解决方案或更聪明的方式(是的,我知道混淆)。
答案 0 :(得分:19)
您可以使用名为nwsnapshot的nodewebkit命令将javascript代码编译为二进制文件,该代码将加载到应用程序中而不指定任何js文件
nwsnapshot --extra-code application.js application.bin
在package.json
中添加此内容:
snapshot: 'application.bin'
答案 1 :(得分:2)
这实际上取决于你所说的“安全”。
您可以使用Google Closure Compiler相当好地混淆您的javascript代码(以及可能提高性能)。
我不知道有任何加密/解密你的javascript的现成解决方案,老实说,我会质疑它的必要性。
有些人认为他们需要让他们无法查看他们的源代码,因为他们习惯于处理只向用户发送二进制文件的编译语言。事实上,逆向工程二进制代码从来没有像人们想象的那么困难,所以如果有任何经济激励,运输源代码和传统的二进制运输之间几乎没有区别。
某些语言提供了对已部署资产的真正加密,例如Microsoft的SLPS。在我看来,这个市场很小,以至于微软把它交给了合作伙伴(只是我的看法)。事实是,大多数客户对获取源代码不感兴趣;当他们继续工作时,他们对你以有效的方式服务和支持代码的能力更感兴趣。
答案 2 :(得分:0)
您可以考虑在构建过程中将JS文件合并为一个并编译它。