聚合路由适合大型网站吗?

Is polymer routing suitable for large scale website?

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

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

如果你想在 Polymer 大网站上开发,你需要处理一些事情。否则你的网站会很慢。

首先,延迟加载当前屏幕的必要元素。

二、构建过程(minify、uglify)

三、服务人员

这些事情很重要,如果你做对了,你的申请就会非常快。比如我有一个超过30个屏幕的管理,运行的很好(我没发现网站大小有什么问题)

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

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

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

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

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

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

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

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

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

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

创建您的应用程序时,您必须牢记您使用的是 WebComponents,大多数 JavaScript 用于传统 WebApplications 的库可能不支持 WebComponents。