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

Kev*_*her 7 ember.js ember-cli ember-cli-addons

我通过Bower成功导入了一个jQuery插件,用于Ember-cli插件中的一个组件.但是,这只是因为我在插件和使用应用程序中定义了对此插件的Bower依赖性.

这似乎我做错了.为什么消费应用程序必须声明对应该与插件一起提供的资源的依赖?

事情的关键似乎是app建设时的背景.如果我import在addon的index.js文件中使用以下语句,我可以省略使用应用程序中的Bower依赖项:

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

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

 app.import('bower_components/jquery.stickyHooters/dist/jquery.stickyHooters.min.js');
Run Code Online (Sandbox Code Playgroud)

这是如何工作的?

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

tom*_*ham 7

在默认蓝图上查看ember-cli主页.它描述了在安装插件时如何导入bower组件包.

  • 好的,所以蓝图作为这个问题的解决方案似乎有点不直观,但从文档中可以清楚地看出,这是处理这个问题的预期方法.但是,文档似乎不完整,因为使用应用程序仍然没有从插件安装bower依赖项. (2认同)