我应该如何将 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');
这是如何工作的?
- 在两个地方声明 Bower 依赖项似乎违反直觉
- 我不知道如何检测插件
index.js
中的app
上下文
检查 ember-cli 默认蓝图主页。它描述了如何在安装插件时导入 Bower 组件包。
我通过 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');
这是如何工作的?
- 在两个地方声明 Bower 依赖项似乎违反直觉
- 我不知道如何检测插件
index.js
中的app
上下文
检查 ember-cli 默认蓝图主页。它描述了如何在安装插件时导入 Bower 组件包。