我应该如何将 Bower 依赖项从 Ember-cli 插件导入到消费应用程序中?

How should I import Bower dependencies from an Ember-cli addon into the consuming application?

我通过 Bower 成功导入了一个 jQuery 插件,用于 Ember-cli 插件的组件中。但是,这唯一有效是因为我在 插件和消费应用程序中都定义了对该插件的 Bower 依赖项。

这好像我做错了。为什么消费应用程序必须声明对应该由插件提供的资源的依赖?

问题的关键似乎是 app 构建时的上下文。如果我在插件的 index.js 文件中使用以下 import 语句,我可以在消费应用程序中省略 Bower 依赖项:

app.import('node_modules/my-ember-cli-addon/bower_components/jquery.stickyHooters/dist/jquery.stickyHooters.min.js');

...但是当我将插件构建为独立应用程序时,这会中断。在这种情况下,此路径是必需的:

 app.import('bower_components/jquery.stickyHooters/dist/jquery.stickyHooters.min.js');

这是如何工作的?

  1. 在两个地方声明 Bower 依赖项似乎违反直觉
  2. 我不知道如何检测插件index.js中的app上下文

检查 ember-cli 默认蓝图主页。它描述了如何在安装插件时导入 Bower 组件包。