出现错误 – 走出 JavaScript 危机的方法

主要观点:

  • 浏览器配置阻止某些内容时,如在 Firefox 中阻止 cookies 等,会导致一些网站出现问题,如 Next.js 构建的网站在这种情况下可能会出错,React 会移除服务器渲染的 HTML。
  • 关于客户端 JavaScript 存在诸多问题,如易出错、性能低、导致网页不可靠等,行业内对此有不同看法和争论,包括技术和社会层面的分歧。
  • 新的架构尝试解决现有架构的缺点,但往往只是创造新的框架孤岛,且存在过度追求开发者体验而忽视用户体验的情况。
  • 对 React 的批评应更客观,它并非前端问题的唯一原因,多种技术和架构的混合使用可能导致问题。
  • 行业需要共同目标,如提高性能、透明展示开发者决策的影响、分离服务器和客户端代码、减少客户端 JavaScript 等,同时需要标准化的组件模型和 API。

关键信息:

  • 浏览器阻止 cookies 等会影响网站功能,如 Next.js 网站在这种情况下可能出错,React 会移除服务器渲染的 HTML。
  • 客户端 JavaScript 易出错、性能低,导致网页不可靠,行业内存在技术和社会层面的分歧。
  • 新架构尝试解决现有问题但效果不佳,存在过度追求开发者体验而忽视用户体验的情况。
  • React 并非前端问题的唯一原因,多种技术混合使用可能导致问题。
  • 行业需要共同目标,如提高性能、透明展示开发者决策的影响、分离服务器和客户端代码、减少客户端 JavaScript 等,同时需要标准化的组件模型和 API。

重要细节:

  • 在 Firefox 中阻止 cookies 会阻止访问 JavaScript 存储 API,脚本应准备处理访问这些 API 可能抛出的错误。
  • Next.js 渲染 HTML 页面并加载客户端 JavaScript 进行“水化”,过程中出错会移除服务器渲染的 HTML,可通过 error boundary 处理错误,但实际中常被误用。
  • 客户端 JavaScript 易出错的原因有很多,如各种框架的问题、开发者选择不当等,新的架构尝试解决但效果不佳。
  • React 被批评为导致前端问题的原因之一,但并非唯一原因,多种技术混合使用可能导致问题,如 GitHub 前端的情况。
  • 行业需要共同目标,如提高性能、透明展示开发者决策的影响、分离服务器和客户端代码、减少客户端 JavaScript 等,同时需要标准化的组件模型和 API,如 Vue 成为 JavaScript 生态的守护者,Astro 和 11ty 等打破框架孤岛。
阅读 13
0 条评论