加密nodejs项目里的js文件

找到:node-8.11.2\lib\module.js,在其中增加一种扩展名的文件支持,比如ejs。重新编译node,这个node最终要发布到生产环境执行。


Module._extensions['.ejs'] = function (module, filename) {  

  var buffer = fs.readFileSync(filename)  

  var content = zlib.gunzipSync(buffer).toString();  //这里只是简单的解压缩,可以换成自己的解密算法

  module._compile(internalModule.stripBOM(content), filename);  

};  


把自己的nodejs新项目下所有的js文件加密成ejs文件。


如果是nodejs 10.2.1,找到node-10.2.1\lib\internal\modules\cjs\loader.js修改,类似的修改方式,只是代码里要去掉internalModule

Module._extensions['.ejs'] = function (module, filename) {  

  var buffer = fs.readFileSync(filename)  

  var content = zlib.gunzipSync(buffer).toString();  //这里只是简单的解压缩,可以换成自己的解密算法

  module._compile(stripBOM(content), filename);  

};  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11237.html