在ember.js应用程序中处理JavaScript脚本标记小部件
Handling JavaScript script-tag widgets within ember.js applications
ember.js应用程序中的把手模板位于"script"标签中。第三方小部件、广告等通常是另一个"脚本"文档。在插入的位置写入内容
脚本内的脚本标签将不工作,所以有一种方法来处理然后在成员应用程序?
为了编写可维护的DRY代码,任何实际大小或重要的Ember应用程序都应该使用Ember -cli或brunch这样的构建工具来构建。这些构建工具将从多个目录编译应用程序文件(包括模板和供应商文件)。我将介绍这些,然后我将介绍几种不使用构建工具就可以包含小部件/脚本的方法。
1)虽然烬指南告诉你如何使用script
标签定义你的模板,这不是一个高效或有效的方式来管理你的应用程序的模板(除非你正在构建一个应用程序的学习目的或JSbin演示等,当你需要把所有的东西放在一个文件)。上面提到的构建工具使用解析器来监视您的文件目录,并将模板编译为Ember.TEMPLATES
对象,这是您的应用程序无论如何都要访问它们的地方。
这些构建工具通常有单独的目录,其中放置您的供应商文件(例如第三方部件),这些文件通常会被监视更改并编译成包含在index.html
页面中的vendor.js
文件。您还可以使用依赖管理工具(如NPM和Bower)来简化此过程。在这两种情况下,插件方法在整个应用程序中都是可访问的。
2)如果您真的不想使用构建工具,那么只需在关闭body
标记之前在index.html
页面上包含script
标记,任何方法都可以在应用程序中的window
对象上访问。如果你想在页面的特定位置放置像社交分享按钮这样的小部件,这显然是无效的。
3)当您不使用构建工具时,另一种方法是在didInsertElement
事件的视图或组件中运行$.getScript()
方法(见这里)。这可能是在模板的特定位置包含类似小部件的脚本的最佳方式。在视图中,你可以使用this.$().find('.some-selector')
来定位模板中的特定元素,或者使用this.$()
来定位视图的元素本身。
更多信息:
- Ember CLI中的模板
- 如何将此脚本更改为最小高度(或固定高度)
- Java 脚本 设置日期的最小值和最大值属性
- 谷歌上下文小工具第一次没有加载谷歌应用程序脚本>需要实施授权流程
- 为什么第二个执行带有异步标签的较小尺寸的脚本
- 如何增强这个小脚本
- 多视图未在 Ektron 页面构建器小部件中的回发上运行脚本
- Jquery脚本是否可以使更小或更高效
- JQuery 脚本的小问题
- Javascript性能 - 如何提高小脚本的性能
- jQuery UI 最小脚本错误
- JavaScript / CSS 循环图像和内容库 - 我的脚本的第一个小部分不起作用
- 随机帖子小部件脚本不适用于博主
- 允许在复选框限制脚本中进行最小选择
- 允许您在 html 中粘贴小 JavaScript 脚本的网站如何跟踪您的网站
- 用javascript中的最小脚本从json对象中获取第五级子值
- 用JS中的字符串为所有非站点内的链接加上前缀..你能校对一下我拼凑的这个快速的小脚本吗
- 最小化包含自定义过滤器的AngularJS脚本
- 修改java脚本代码中的小行
- Webpack与小的初始脚本和异步加载所有其他脚本
- 带有完整文档的jQuery.load(url)和带有脚本的部分文档的差异