我的问题是,当该插件用于另一个插件的依赖项时,我无法在插件中运行 contentFor 方法(我知道这很困惑)。
我的组织有一个内部 ember 插件,我们用它来为我们的 ember 应用程序分发常见的样式、图像和组件。我将该插件称为org-components
. 我们决定采用材料设计,因此我们选择使用ember-paper和我们现有的插件。
为了减少人们在摄取应用程序中需要引用的依赖项的数量,我们更愿意将(not a ) 包含ember-paper
为依赖项。org-components
devDependency
因此我们的依赖链是这样的:
ember-paper -> org-components -> ember-engine
ember-paper
定义了一个contentFor
方法~/index.js
,它将在头部和paper-wormhole
div中注入一些用于 Material 图标和字体的样式表,body-footer
以供选择菜单下拉菜单和 toast 消息使用。由于我不知道的原因,当作为依赖项包含contentFor
时,该方法不会执行,ember-paper
如上所示。
当我将两个组件都包含为单独的依赖项时,就会contentFor
执行该方法并且事情会按预期工作:
ember-paper -> ember-engine
org-components -> ember-engine
所以我想了解为什么ember-paper
当它被用作我们现有插件的依赖项时我无法利用它。是什么阻止了 contentFor 构建步骤的执行?在尝试解决此问题时,我应该牢记他们的最佳实践吗?