【问题标题】:Is polymer routing suitable for large scale website?聚合物路由适合大型网站吗?
【发布时间】:2017-11-14 07:03:16
【问题描述】:

我有一个大项目,其中包含不同的布局和结构(就像 100 个不同的页面),但核心元素是相同的(例如标题和菜单)。我想使用 javascript 框架,所以我找到了聚合物。在聚合物中有<iron-ajax>。符合我的要求吗?

【问题讨论】:

  • 你在说什么java脚本?你说的框架是什么意思?
  • 是的,我的意思是 javaScript 框架,例如 react js、stencil、polymer、vue js
  • 我明白了,你想用它们做什么?比较一下?
  • 我不想比较它们。我已经过滤了它们并选择了聚合物 js。现在我想知道聚合物是否适合大型网站
  • 你为什么选择聚合物?

标签: angularjs node.js reactjs vue.js polymer


【解决方案1】:

答案可能是肯定的。您可以使用所有现代框架/库,如 Angular、React、Polymer 等。

如果您想在 Polymer 大网站上进行开发,您将需要注意一些事情。否则你的网站会很慢。

首先,延迟加载当前屏幕所需的元素。

二、构建过程(minify、uglify)

三、服务工作者

如果你做对了这些事情很重要,你的应用程序将会非常快。例如,我有一个拥有 30 多个屏幕的管理,并且运行良好(我没有发现网站大小有任何问题)

另一件事是路由。我正在使用 page.js ,因为我喜欢它的路由而不是 app-route 它有点令人困惑(至少对我来说)。

你问了一些关于iron-ajax 的问题。我不明白你为什么只要求这个元素?这个用于在您的服务器上调用 XHTTP 请求。如果你习惯了,这是一个很棒的元素。

Polymer 非常易于使用(可能是上面提到的框架中最简单的一种),并且已经构建了许多元素并准备好使用漂亮的文档。如果你真的想用 Polymer 开发你的网站,请使用 2.x 版本。不要尝试使用 1.x(它很快就会在浏览器中过时且不受支持)

【讨论】:

  • 你有任何使用聚合物 2.0 的 CRUD 示例或任何书籍或教程
【解决方案2】:

Polymer 可用于使用 <app-route> 构建大型应用程序,并且其工作方式类似于 reactJs、angular 或 Vue。但是,Polymer 与这些 javascript 框架不同。它是为不同的需求而构建的。

Polymer 是一个创建HTML5 WebComponents 的框架,它不同于javascript 虚拟组件或light dom 组件(light dom 是我们通常使用的dom)。 HTML5 WebComponents 已经被普通浏览器原生支持,如果浏览器还不支持 WebComponents,当使用聚合物时,它会加载 Polyfills 以在浏览器中提供相同的行为。

Polymer 在 shadow dom 中创建可重用的 WebComponents,这意味着创建的组件不能或不应该与其他 JavaScript 或 CSS 交互。当您检查聚合物组件的 HTML dom 树时,可以看到这一点。

jQuery 或原生 JavaScript querySelector 等库无法查看 dom 并找到组件,因为它不在 (Light) DOM 树中。从而使组件在所有使用它的 Web 应用程序中的行为和行为都相同。

将其视为 Web 应用程序中文件输入上的选择按钮

如果您想使用普通的 CSS 和 javascript 设置按钮样式,则必须使用调整来完成。这类似于 HTML5 WebComponents 行为

话虽如此,回到您的问题,Polymer 可用于创建大型网站。这意味着整个应用程序将成为一个聚合物组件。 Polymer 使用了组件的延迟加载,因此应用程序不会太重,并且会相对加载。

在创建您的应用程序时,您必须记住您正在使用 WebComponents,并且大多数适用于传统 WebApplications 的 JavaScript 库可能不支持 WebComponents。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-07
    • 2023-03-06
    • 1970-01-01
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 2014-04-18
    相关资源
    最近更新 更多