【问题标题】:Javascript frameworks just "markup" for javascript?Javascript 框架只是 javascript 的“标记”?
【发布时间】:2019-09-21 22:00:54
【问题描述】:

我对 javascript 框架的工作原理有点好奇。 Web 开发并不是我真正的专业领域(我更像是一个 c/c++ 人),但是 javascript 框架会被翻译成 vanilla javascript 吗?

在检查网站源代码后,它似乎大多只是标准的 javascript。这些 javascript 引擎只是在服务器端将代码翻译成 javascript 吗?

【问题讨论】:

  • 无论使用什么代码框架,客户端收到的最终代码都是纯 Javascript。在 Node 中则不同,也可以使用非 JavaScript。我猜还有 WebAssembly
  • 是的,它们被翻译成 vanilla JS,因为这就是浏览器最终能理解的所有内容。但这一切都是在客户端完成的。
  • @RobinZigmond 那么网络浏览器知道本地翻译这些框架吗?
  • 网络浏览器只接收 html、css、javascript 或 WebAssembly。一些框架在生成浏览器接收到的内容之前需要一个构建步骤。
  • @EliKolb 不,当然不是。通常有一些构建步骤将项目翻译成浏览器可以理解的 JS。所有这些框架都涉及加载外部 JS 库代码,这是生成的 JS 代码按预期工作所必需的。

标签: javascript frameworks


【解决方案1】:

是的,大多数 JavaScript 框架都会将您编写的代码转换为普通的 JavaScript,但是,这不会发生在 服务器端,那会很慢(服务器端代码用于检查数据库、提供文件、身份验证等)。这个翻译过程是在编译时完成的(虽然它是翻译)。 (就像你把 c++ 代码编译成二进制一样)。

当源代码到 JavaScript 和 React (JSX)Vanilla JavaScript (JS) 之类的源代码时,它就是翻译。当它的源代码像C++ 源代码可执行文件(.exe) 的二进制文件是编译。

在你用框架编写完 JavaScript 代码后,你最需要将它翻译成 Vanilla JavaScript(如果你还使用其他不常见的语言来编写样式,你必须也翻译它们,比如 SASS 而不是 CSS)。缩小它也很常见,因此加载速度更快。

这一切主要是通过webpack之类的工具来完成的。

当您的网站启动并运行时,我们可以说这是运行时间

【讨论】:

    【解决方案2】:

    考虑到它们是用 js 编写的,它们在运行之前会被解析为 js,正如 Robin 所说,它们是在客户端执行的,除了 Node 是运行时环境而不是框架

    【讨论】:

      猜你喜欢
      • 2011-10-25
      • 2017-12-21
      • 2015-10-20
      • 2011-06-08
      • 2014-10-17
      • 2011-04-12
      • 2011-10-27
      • 2013-01-05
      • 1970-01-01
      相关资源
      最近更新 更多