Javascript 角度/离子-由于代码暴露会发生什么问题?

Javascript 角度/离子-由于代码暴露会发生什么问题?,javascript,angular,ionic-framework,Javascript,Angular,Ionic Framework,我正在开发一个角度/离子应用程序。查看“build”文件夹中的文件,我可以注意到代码是可读的,并且没有缩小,例如: CartService.prototype.total = function () { var cart = this.getCart(); var sum = 0; for (var i = 0; i < cart.items.length; i++) { sum += cart.items[i].produto.preco * ca

我正在开发一个角度/离子应用程序。查看“build”文件夹中的文件,我可以注意到代码是可读的,并且没有缩小,例如:

CartService.prototype.total = function () {
    var cart = this.getCart();
    var sum = 0;
    for (var i = 0; i < cart.items.length; i++) {
        sum += cart.items[i].produto.preco * cart.items[i].quantidade;
    }
    return sum;
};
CartService = __decorate([
    Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"])(),
    __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__storage_service__["a" /* StorageService */]])
], CartService);
return CartService;
CartService.prototype.total=函数(){
var cart=this.getCart();
var总和=0;
对于(变量i=0;i

这是个问题吗?代码暴露会产生什么问题?

如果你到处搜索,你会发现很多关于这个主题的资料,但是在决定是否缩小代码时有2件大事要考虑:

  • 有人窃取您的代码。如果您的应用程序是一项核心业务资产,而任何人以可维护的形式使用您的代码都会立即成为竞争对手,而无需为此付出努力,这可能会威胁到您的公司

  • 更多的人利用安全漏洞。可读代码大大降低了发现漏洞所需的专业技能。一个有经验的黑客可以对缩小的代码进行反向工程,当然,他知道很多常见的攻击向量,但是任何一个优秀的开发人员都可以在可读代码中找到漏洞

  • 还有第三个原因,对于许多应用程序来说,没有上述原因那么重要,但仍然很重要:

  • 性能:缩小的代码更小。它将在网络上传输得更快。一些能够缩小的预处理器也会执行一些可以提高运行时的小优化,尽管这些优化通常不明显

  • 如果这些都没有打扰到您,并且您希望人们能够真正阅读您的代码并了解您的操作方式,您可以保持这种状态。

    无论如何,您必须接受所有前端代码都是公共的,因此,所有安全性都必须由您的服务器处理。永远不要相信来自浏览器的任何东西,也不要向浏览器发送任何敏感信息。您是否使用带有UglifyJsPlugin的WebPack?使用网页包缩小代码有多种方法。但我发现Angular/Ionic应用程序的生产版本可能存在问题。亲爱的@ConnorsFan从未尝试过这些,但非常感谢您的建议。我会考虑的。