在ember.js应用程序中处理JavaScript脚本标记小部件

Handling JavaScript script-tag widgets within ember.js applications

本文关键字:脚本 小部 JavaScript 处理 ember js 应用程序      更新时间:2023-09-26

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中的模板