我有一个插件,它曾经在 Ember CLI 0.1.4 中工作,但现在我使用的是 0.2.0,我认为可能的改进ember-cli-dependency-checker
是不让我的插件发挥它的魔力。
有问题的插件可以在这里找到:ui-bs-popover。
我的理论是问题源于缺少设计排除的 Bootstrap 依赖项。具体来说,此插件依赖于 Bootstrap(SASS 或常规无关紧要),但不会将其安装为过程的一部分。这是设计使然,因为它让用户将其作为一个独立的步骤来执行(以他们选择的任何方式)。因此,虽然虚拟测试应用程序工作得很好,但因为 Bootstrap 引用位于插件的 Brocfile 中(只是不在index.js
包含它的项目中,因此会遇到相同的依赖项)。
也就是说,我得到的堆栈跟踪不是很清楚(无论如何对我来说):
TypeError: undefined is not a function
at EmberCLIDependencyChecker.readBowerDependencies (/path/to/project/node_modules/ui-bs-popover/node_modules/ember-cli-dependency-checker/lib/dependency-checker.js:77:35)
at EmberCLIDependencyChecker.checkDependencies (/path/to/project/node_modules/ui-bs-popover/node_modules/ember-cli-dependency-checker/lib/dependency-checker.js:30:24)
at new EmberCLIDependencyChecker (/path/to/project/node_modules/ui-bs-popover/node_modules/ember-cli-dependency-checker/lib/dependency-checker.js:21:8)
at /path/to/project/node_modules/ember-cli/lib/models/addons-factory.js:44:19
at visit (/path/to/project/node_modules/ember-cli/lib/utilities/DAG.js:23:3)
at DAG.topsort (/path/to/project/node_modules/ember-cli/lib/utilities/DAG.js:82:7)
at AddonsFactory.initializeAddons (/path/to/project/node_modules/ember-cli/lib/models/addons-factory.js:40:9)
at Class.Addon.initializeAddons (/path/to/project/node_modules/ember-cli/lib/models/addon.js:189:36)
at setupRegistryForEachAddon (/path/to/project/node_modules/ember-cli/lib/preprocessors.js:18:10)
at Object.module.exports.setupRegistry (/path/to/project/node_modules/ember-cli/lib/preprocessors.js:46:3)