Require.js 加载应用程序的所有资源,包括 Polymer

2024-03-18

我正在为一个大型、多开发人员项目构建应用程序框架。我很喜欢结合使用 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.js
      • jquery.html

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(使用前将#替换为@)

Require.js 加载应用程序的所有资源,包括 Polymer 的相关文章

随机推荐

  • Lua 表.concat

    有没有办法使用table concat的arg 2值来表示当前表索引 eg t t 1 a t 2 b t 3 c X table concat t n 表 concat X 的所需输出 1 a n2 b n3 c n 简单的回答 不 ta
  • C# 让 Android 手机振动 100 毫秒

    上周我在手机上尝试了一些游戏 发现有些游戏使用了振动 as a feedback 对于玩家来说 当事情发生时 例如 玩家crashed撞到墙上 玩家做了一次完美的发射 玩家获得了大奖 等等 我真的很喜欢给手机一点震动或轻微摇晃 基本上可以告
  • 在 Keras IMDB 示例中使用字符串作为输入

    我正在看Keras IMDB 电影评论情感分类示例 https keras io datasets imdb movie reviews sentiment classification 以及github上对应的模型 https githu
  • 如何在 Spring 2.5 中的配置文件中连接两个 String bean

    我知道 Spring 3 0 及更高版本有 EL 但在本例中该项目使用 Spring 2 5 例如
  • 简单的演示项目 Webpack KO(带有组件) javascript

    我想用 javascript 淘汰组件构建 SPA 经过大量阅读和摆弄之后 我似乎仍然无法使用 webpack 获得一个可用的 javascript 无打字稿 淘汰 带组件 项目 我发现了一些简单的淘汰项目 但无法让它们与 webpack
  • 错误:“dimnames”的长度[2]不等于数组范围[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我对我的 R 代码做了一些修改 效果很好 但现在我有 7 个集群 而不是 3 个 layout matrix c 1 1 2 2
  • 访问firebase firestore v9中的子集合

    我正在尝试访问子集合 消息 内的 firebase firestore 文档 user gt user uid gt messages gt docRef id gt date Date now text userText userEmai
  • Kubernetes 入口控制器无法找到证书密钥

    我正在设置一个包含入口控制器证书的机密 但在检查入口日志时出现以下错误 入口日志 W0304 05 47 32 020497 7 controller go 1153 Error getting SSL certificate defaul
  • Python 中的 Perlin 噪声:噪声值压缩,需要帮助形成正弦模式

    我目前正在研究一个涉及 Python 中 Perlin 噪声生成的项目 我使用噪声库实现了 Perlin 噪声生成 并使用这些噪声类型的组合在块内生成了不同类型的噪声值 洞穴 陆地 山丘 山脉 但是 我面临着生成的噪声值的问题 噪声值没有形
  • 如何更改 ActiveAdmin 路由 ID 的限制?

    我正在对使用 ActiveAdmin 的 Rails 站点进行更改 包括将 URL 中使用的标识符更改为有意义的字符串 在 ActiveAdmin 之外 只需更改to param每个模型的方法 这还更改了为 ActiveAdmin 页面上的
  • 将 HTTP 重定向到 HTTPS

    我目前使用此代码将 HTTP 重定向到 HTTPS RewriteCond HTTPS off RewriteRule https HTTP HOST REQUEST URI R L 它正在工作 http website com http
  • PHP cURL 和 SSL 的奇怪超时

    当我尝试访问 Amazon Cloudfront 时 将 cURL 与 PHP 结合使用时遇到奇怪的超时 这似乎会影响所有失效请求 创建发行版等 cURL 要么报告接收到 0 字节 要么报告接收到很少的字节 然后超时 Operation t
  • 从脚本返回的值未分配给 jenkins 声明性管道阶段中声明的变量

    我正在努力添加用于自动化测试的詹金斯声明式管道 在测试运行阶段 我想从日志中提取失败的测试 我正在使用常规函数来提取测试结果 该函数不是詹金斯管道的一部分 这是另一个脚本文件 该函数工作正常 它构建了一个包含失败详细信息的字符串 在管道阶段
  • 多个 JVM 与单个应用程序服务器

    我正在处理一个系统 该系统为每个客户在其自己的 JVM 中运行一个 Java 应用程序 我们有大约六台专用服务器 现在总共运行着近 100 个 JVM 以及用于管理这些 JVM 的自定义脚本集 这个设置在这一点上确实显示出了它的年龄 管理如
  • 将glade文件与程序g++链接

    Glade 文件和程序文件可能会变得有点混乱 当您希望程序可移植时 这会成为一个问题 有什么方法可以将您的程序与林间空地文件绑定吗 源代码 未完成但正在运行的项目 https github com caelwithcats valuator
  • 如何在 Erlang 中执行系统命令并使用 os:cmd/1 获取结果?

    当我尝试执行以下返回错误或在 Windows 上不退出的命令时 我总是得到空列表而不是作为字符串返回的错误 例如 I get os cmd blah 而不是类似的东西 command not found os cmd blah 在 Linu
  • Git 在交互式变基中添加所有提交消息

    我运行了交互式变基以提交abcdef git rebase i abcdef 在编辑器 Vim 中我改变了所有pick hash线路到 reword hash PREFIX Original commit message使用这个 vim 命
  • 使用 fetch 进行基本身份验证(或任何身份验证)

    找不到任何相关文档 因此在我深入研究代码之前 是否有人知道在使用 fetch 发出 REST 请求时如何使用基本身份验证 https github com github fetch https github com github fetch
  • 在一个线程中锁定互斥体并在另一个线程中解锁它

    这段代码正确且可移植吗 void aThread void while conditionA pthread mutex lock mutex1 do something pthread mutex unlock mutex2 void b
  • Require.js 加载应用程序的所有资源,包括 Polymer

    我正在为一个大型 多开发人员项目构建应用程序框架 我很喜欢结合使用 Require js 和 Angular 来管理依赖关系和类加载的想法 但现在我也想使用 Polymer 因为它非常酷 我如何使用 require js 加载聚合物元素库