Although there is no way to hide the script because it loads in the browser what makes it public, what you can do is obfuscate it by making the code almost impossible to read.
There are tools like javascriptobfuscator that can help you. The only thing you have to keep in mind is that obfuscation can make your code a bit slower because it modifies your code.
Since you are using angle, it is good to note that you have to make sure to define the dependencies as an array, not as parameters. For example, if you obfuscate the following code, it will throw you an error:
app.controller("ctrl",function($scope, $http)){
// codigo
})
You will fail because the obfuscation will change the name of $scope
to __b
, for example, so angular can not find that dependency and will throw an error. Using the array syntax will work well:
app.controller("ctrl",['$scope', '$http', function($scope, $http)){
// codigo
}])
Now it will work for you because angular knows which dependency to inject based on the names of the array.