【问题标题】:What is an isomorphic application?什么是同构应用程序?
【发布时间】:2018-06-09 01:29:28
【问题描述】:

我已经阅读了多篇关于什么是同构应用程序、为什么这种类型的架构更好等等的不同文章。但是对于这个词的含义,我还是有点不确定。

您如何定义什么是“同构应用程序”,而不涉及太多细节?

【问题讨论】:

  • 这是您将此问题标记为的 Javascript 框架之间的可互换性,即它们在服务器和客户端上都使用。

标签: javascript node.js reactjs isomorphic-javascript


【解决方案1】:

它们最近也被称为universal。我不确定整个应用程序是否被称为同构/通用,但您当然可以拥有通用的部分代码库。

同构/通用代码是在客户端(浏览器)和服务器(NodeJS)上运行的代码。由于它们都是 JavaScript,因此如果:

  1. 您没有提及windowdocument 或任何其他仅限浏览器的方法
  2. 您没有提及serverfs 或任何或任何其他仅限节点的方法。
  3. 如果您确实需要在一些通用的代码中执行上述操作,则应将其包装在一个函数中,该函数要么在备用环境中模拟所需的方法,要么将其包装在条件中,这样应用程序就不会崩溃。

一个例子是console.log,它可以在 NodeJS 和任何浏览器中工作,以及现代浏览器中的大多数其他 es6 方法。

我使用构建工具(如 webpack)然后帮助在单个文件中创建/导出函数,这样我们就有了一个 bundle,如 client-app.js,它包含在 HTML 文件中,并且是仅浏览器的 js。然后服务器可能会开始使用server-app.js,这是仅限服务器的捆绑包。可以使用大量相同的universal 源代码来创建这两个包。

【讨论】:

  • 我想,这回答了我的问题。谢谢你,先生!
猜你喜欢
  • 1970-01-01
  • 2020-04-19
  • 2016-03-12
  • 2012-08-27
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多