我正在为一个大型、多开发人员项目构建应用程序框架。我很喜欢结合使用 Require.js 和 Angular 来管理依赖关系和类加载的想法。但现在我也想使用 Polymer,因为它非常酷。
我如何使用 require.js 加载聚合物元素库,就像我的 js 库一样?我喜欢坚持把 require 作为加载所有应用程序资源的一种真正方法的想法。我看到能够将模板、脚本和样式捆绑到一个代表组件的逻辑 .html 文件中是多么美好,而且我知道我们可以将这些部分分解成单独的文件,但是一旦我看到任何链接相关我觉得里面的 ="import" 东西正在进入 require.js 的领域。
Ideas?
两者之间存在一些紧张关系,因为两者都希望成为跟踪依赖关系的记录系统。例如,如果您进行 http 导入/components/core-ajax/core-ajax.html
它包含一个 http 导入../polymer/polymer.html
,确保在运行 core-ajax 的任何脚本之前加载 Polymer。 Polymer 还有一个名为 vulcanize 的工具,用于将一组 Web 组件编译到单个文件中,以减少生产中的 HTTP 请求数量。
听起来有点熟? require.js 对于所有这些部分都有类似的机制。还值得注意的是,我不知道正在采取哪些措施来统一所有这些,并且让事情变得更加复杂的是正在聚集的 ES6 模块提案。
我目前的建议是如果可能的话,只选择一个依赖跟踪器。如果您使用 Web 组件,我建议您使用 HTML 导入,因为将 requirejs 模块转换为简单的 Web 组件比反之亦然要容易得多。
例如假设你有一个脚本jquery.datatables.js
这取决于jquery。像这样布局你的文件:
- components
- jquery.datatables
- jquery.datatables.js
- jquery.datatables.html
- jquery
jquery.html 将包含:
<script src='jquery.js'></script>
在 jquery.datatables.html 中你可以输入:
<link rel='import' href='../jquery/jquery.html'>
<script src='jquery.datatables.js'></script>
HTML Imports 负责重复数据删除,因此您可以确信jquery.html
只会加载一次。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)