有一些像http://www.javascriptobfuscator.com/Default.aspx这样的JavaScript混淆器,它们适用于简单的JavaScript代码。但是它们能否在更复杂的前端AngularJS代码上工作,这些代码可能包含多个控制器、服务和模块文件?
StackOverflow上的经验丰富的程序员使用什么工具来混淆他们的AngularJS代码?或者根本不混淆,因为无法混淆前端代码?
有一些像http://www.javascriptobfuscator.com/Default.aspx这样的JavaScript混淆器,它们适用于简单的JavaScript代码。但是它们能否在更复杂的前端AngularJS代码上工作,这些代码可能包含多个控制器、服务和模块文件?
StackOverflow上的经验丰富的程序员使用什么工具来混淆他们的AngularJS代码?或者根本不混淆,因为无法混淆前端代码?
myApp.controller('myController', function($scope, $http) { ... });
您需要将其更改为更冗长的基于数组的方法:
myApp.controller('myController', ['$scope', '$http', function($scope, $http) { ... }]);
使用字符串来告诉angular在函数中注入哪些对象,而不是依赖于$scope和$http变量本身的名称。这样做不会在缩小(minification)期间发生改变。
如果您不想修改代码库,有一个名为ngmin的命令行工具可以自动为您进行这些更改:https://github.com/btford/ngmin
ngmin的自述文件中的“概念概述”部分也对这个问题有很好的解释。