我的NodeJS应用程序当然包含所有业务逻辑和算法,如果我将其安装在客户服务器上,则他们可以读取我的源代码,我想对其保密以保护我的业务。
PHP有几个工具可以将php项目并将其编码为字节码,而这正是我希望对JS / NodeJS能够做到的。
有几种NodeJS打包器,它们只是将它们打包成一个可执行文件,但是普通的JS源代码仍然存在。
问题
在客户服务器上安装JS / NodeJS源/产品时,如何保护它?
答案 0 :(得分:2)
PHP有一些工具可以将php项目并编码为字节码
也有反编译器。
在这种情况下,将使用一个缩小器和pkg
。这提供了一个可行的应用程序,如果客户打算违反合同或许可证,就不能轻松对其进行修改。仅仅使用一个缩小器是不够的,因为在生产中必须进行正确的调试才能使用源映射,而在源映射存在的情况下,可以将缩小的JS完全还原为原始JS。
有bytenode
使用V8功能将脚本编译为字节码并对其进行评估。恰恰相反,它不会像编译器那样使事情变得更快。
答案 1 :(得分:0)
丑陋是您可以执行JavaScript代码的最佳选择。它将使您的代码无法被人类读取。
答案 2 :(得分:0)
有一个库可以将nodeJS的纯文本javascript文件转换为二进制文件。叫做bytenode
https://www.npmjs.com/package/bytenode
Bytenode允许您将Javascript文件编译为.JSC 那么您可以使用require从您的JavaScript代码中调用它
一旦将bytenode模块加载到nodejs代码中,就可以使用“ require”调用二进制文件。