3

Polymer 和/或原生 Web 组件是否使用 ES6 的 SystemJS 模块技术? https://github.com/systemjs/systemjs

还是他们依靠自己的资产管理?

4

4 回答 4

3

现有的 Web 组件并没有真正使用 SystemJS,但现在可以将它与systemjs-plugin-html一起使用来加载 HTML 导入并规避它们所遇到的问题。SystemJS 可以重定向路径,例如,预期在不同位置的同一个库可以重定向到同一个文件,并且组件可以更自由地放置在不同的目录中。当然,这并不能修复<link rel="import">现有组件标签中的路径,但可以在没有它们的情况下创建新组件,同时更灵活地重用现有组件。

我写了一篇包含可下载代码的文章和一个关于如何将 Polymer 与 SystemJS 和 TypeScript 一起使用的工作演示。

于 2015-08-27T16:08:01.800 回答
1

Web 组件规范是一组其他四个规范,其中一个是关于 HTML 导入技术的。乍一看,Web 组件并不能解决任何模块问题。但是,HTML 导入是将组件从任何地方导入应用程序的关键。

如果您有导入 componentB 的 componentA,并且您将 componentA 导入您的 Web 应用程序,则首先导入 componentB,然后导入 componentA。因此,您可以设置一个由 HTML 导入自动解析的隐式依赖树(这就是 HTML 导入异步工作的原因)。

于 2014-08-03T15:00:12.873 回答
1

简而言之:没有。他们使用HTML Imports来管理组件。

于 2014-08-06T21:38:59.840 回答
0

不,实际上浏览器还不支持 SystemJS 模块。目前,polymer 和 x-tag 使用 HTML 导入来加载 Web 组件,但 Mozilla 在夜间构建中回滚了 HTML 导入支持,并希望寻找 SystemJS 代替。(一旦浏览器支持 SystemJS,最终 HTML 导入可能会重复)。

在 Firefox OS 中,他们只是将 Web 组件作为普通的 js 库导入,而不使用 HTML 导入。

例如:gaia-switch 元素 https://github.com/gaia-components/gaia-switch

于 2015-06-19T14:29:15.703 回答