聚合物路由是否适合大型网站?

时间:2017-11-14 07:03:16

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

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

2 个答案:

答案 0 :(得分:0)

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

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

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

第二,构建过程(minify,uglify)

第三,服务人员

如果你能做得对,这些事情很重要,你的申请会非常快。例如,我有一个超过30个屏幕的管理,它的进展非常顺利(我没有发现网站大小有任何问题)

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

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

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

答案 1 :(得分:0)

聚合物可用于使用<app-route>构建大规模应用程序,并且类似于reactJs,angular或Vue。但是, Polymer 与这些javascript框架不同。它是为不同的需求而构建的。

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

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

enter image description here

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

将其视为Web应用程序中文件输入的选择按钮 enter image description here

如果你想使用普通的CSS和javascript设置按钮的样式,你将不得不使用调整来完成它。这是HTML5 WebComponents行为的模拟器

现在可以说,回到你的问题,Polymer可以用来创建大型网站。这意味着整个应用将成为一种聚合物组分。聚合物使用组件的延迟加载,因此应用程序不会太重并且会相对加载。

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