Javascript vue/角度/反应是否暴露?

Javascript vue/角度/反应是否暴露?,javascript,angular,reactjs,vue.js,Javascript,Angular,Reactjs,Vue.js,我跟一个说Angular、Vue或React之类的框架 有一个很大的缺点:除了API部分(与服务器上DB的交互),所有其他代码都可以从前端看到,因此任何人都可以窃取你的应用程序 JavaScript代码紧凑且不干净。 这使得访问源代码变得困难,有时甚至不可能这是编写富客户端行为的一个基本事实,与框架无关。这与客户端逻辑有关。对于使用jQuery或直接操作DOM的站点,也存在同样的问题。对你作品的主要保护不是晦涩(隐藏你的代码),而是版权法 代码是客户端的这一事实有几个后果: 无论您在客户机上实

我跟一个说Angular、Vue或React之类的框架
有一个很大的缺点:除了API部分(与服务器上DB的交互),所有其他代码都可以从前端看到,因此任何人都可以窃取你的应用程序

JavaScript代码紧凑且不干净。
这使得访问源代码变得困难,有时甚至不可能

这是编写富客户端行为的一个基本事实,与框架无关。这与客户端逻辑有关。对于使用jQuery或直接操作DOM的站点,也存在同样的问题。对你作品的主要保护不是晦涩(隐藏你的代码),而是版权法

代码是客户端的这一事实有几个后果:

  • 无论您在客户机上实现了什么富行为,都必须验证服务器上的所有操作和输入
  • 如果存在属于商业秘密或专有的业务流程、计算或类似内容,则不得在客户端实现它们,因为无论您是否混淆代码,代码都是可见的,其他人也可以看到
  • 是的,这意味着任何人都可以窃取应用程序的客户端部分。唯一能阻止这一切的是你的版权
但同样,这与框架无关。它与实现应用程序客户端的一部分有关


关于框架的一个附带说明:对为Vue.js、React、Svelte等框架编写的代码启用服务器端呈现(SSR)变得越来越流行。因此,使用这些框架之一并不一定意味着您正在编写客户端代码:您只能将其用于服务器端呈现



不过,最近发生了一件有趣的事情,这可能会使对客户端代码进行反向工程变得更加困难:。对于WebAssembly,交付给客户端的不是JavaScript代码,而是WebAssembly字节码。与Java字节码一样,您可以从字节码重新组装源代码,但这是一个非常混乱的过程,结果很难使用。因此,就像真正彻底的混淆一样,它提高了标准,使人们更难接受您的工作并重用它。但这只是提高了标准,并不能阻止它。(这是WebBaseLee的一个附带好处,根本不是它的要点。WebAssembly的伟大之处在于它可以编译任何其他语言的输出,包括C、C++、RIST…)< /P>这里有问题吗?这是JS的定义,没有更多…是的,所有代码都是可见的,但我们通常会缩小代码,使其难以理解。因此,我们不应该在前端代码中添加任何机密信息,如机密api或凭据。@explorer这家伙问的问题得到了很多分数,这就是为什么他在这些标记上有分数。这并不一定意味着他是JS专家……JavaScript代码首先是公开的,无论是否使用框架,我都不敢相信。“客户端代码是客户端的,amirite?”这是一个很好的问题?“有时是不可能的”这从来都不是不可能的。这充其量是很困难的,但至少有适度动机的任何人都不会被吓倒——有很多工具可以使阅读小型代码变得更容易。例如,是的,这是正确的。您的网站应确保您不会将任何信息带到网页上。在私有变量中定义信息以防止它们被直接访问。然而,它们仍然是可用的“对你的作品的主要保护不是晦涩(隐藏你的代码),而是版权法。”我不知道是否值得在答案中加上几句话。从那以后,我发现很多人都不熟悉基本原理:版权就是你拥有你创造的任何东西。它是自动的,你不需要许可证或版权声明。你可以选择退出,但你必须明确。版权保护你不受他人拿走你的作品并使用它。你可以申请专利,也可以选择加入保护发明——算法或应用程序可以属于这一范畴。最后,商标是选择加入的基础,涉及识别企业。