我想在下一个项目中使用node.js,但老板不喜欢我们的竞争对手可以阅读源代码。
有没有办法保护JavaScript代码?
最佳答案
您可以为节点使用NativeExtension来完成此操作
您将拥有一个boostrap.js
文件,该文件为.jse文件添加了扩展处理程序
// register extension
require.extensions[".jse"] = function (m) {
m.exports = MyNativeExtension.decrypt(fs.readFileSync(m.filename));
};
require("YourCode.jse");
YourCode.jse
将是源代码的加密版本(用于解密的 key 不会在纯文本中的任何地方,因为解密过程是在 native 扩展中进行的)。现在,您可以使用NativeExtensions
decrypt
函数将源转换回javascript。只需让您的构建过程为所有文件创建加密的.jse
版本,然后将其发布给客户即可。他们还需要 native 扩展,但是现在您不费吹灰之力就很难修改代码了。您甚至可以将 native 分机打回家,并检查许可证信息以帮助防止盗版(请注意,这不会阻止盗版,对此没有解决方案)。