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 的相关文章

  • 在 contenteditable div 中选择范围

    我有一个contenteditablediv 和其中的一些段落 这是我的代码 div style border solid 1px black width 300px height 300px div Hello world div div
  • AngularJS:Array.prototype.find() 在 Chrome 中不起作用

    我遇到一个问题 我的角度代码可以在 Firefox 中工作 但不能在 Chrome 中工作 浏览器控制台打印如下 TypeError undefined is not a function at setSelectedColor http
  • 为什么 iife 在一个简单的例子中不起作用?

    我不明白为什么函数表达式调用不起作用并抛出错误 你能给我解释一下吗 var a function x alert x function a 1 谢谢大家 任务比我想象的要容易得多 这是因为 JS 将 IIFE 解析为函数的参数调用 这样做时
  • 如何修改每个JSON对象javascript

    我想修改里面的每个 JSON 值cooldown object cooldown user 1 This user2 0 This 在 Javascript 中使用 for 语句 我研究了好几个小时 只找到了内部的 blocks Edit
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 防止 iOS 键盘在 cordova 3.5 中滚动页面

    我正在使用 Cordova 3 5 和 jQuery mobile 构建 iOS 应用程序 我在大部分应用程序中禁用了滚动功能 但是 当我选择输入字段时 iOS 键盘会打开并向上滚动页面 我不想要这个功能 由于输入足够高 键盘不会覆盖它 我
  • 如何将函数附加到弹出窗口关闭事件(Twitter Bootstrap)

    我做了一些搜索 但我只能认为我可以将事件附加到导致其关闭的按钮 https stackoverflow com questions 13205103 attach event handler to button in twitter boo
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 如何在 angular-ui 中动态禁用 ui-sortable 指令

    我正在使用 Angular ui 使用 ui sortable 指令进行排序 是否可以根据范围状态动态启用 禁用可排序功能 因此 我需要一个按钮来更改范围属性的状态 并且根据此属性可排序是否应该工作 角度指令支持观察可排序选项何时发生变化
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 错误:[$rootScope:infdig] 过滤器中发生了 10 次 $digest() 迭代

    我已尝试了有关此问题的所有答案 但找不到消除此错误的方法 我非常确定这个过滤器函数是导致上述错误的原因 filter collect ingredients function return function input if angular
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • 如何为基于 Polymer (JS) 的应用程序编写端到端测试(大约 2015 年 5 月)?

    我已经构建了一个基于聚合物的应用程序 我想为其编写一些端到端测试 不是单元测试 而是用户行为集成测试 目前 2015 年 5 月 我该如何执行此操作 这几天我一直在研究这个问题 尽管网络上有大量专门讨论一个或另一个相关主题的页面 但没有任何

随机推荐

  • 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 加载聚合物元素库