如何扩展ember-cli插件?

Saa*_*ang 12 ember-cli ember-cli-addons

在我的ember-cli应用程序中,我安装了一个名为的插件'ember-cli-selectize'.查看目录结构,我可以看到它的文件位于/node_modules/ember-cli-selectize'.现在我想创建一个扩展此插件的自定义组件.我如何导入/要求它?我试过这些似乎没有工作:

var EmberSelectize = require('/ember-cli-selectize/app/components/ember-selectize');

import EmberSelectize from 'components/ember-selectize';

import EmberSelectize from 'node_modules/ember-cli-selectize/addon/components/ember-selectize';

import EmberSelectize from 'ember-cli-selectize/addon/components/ember-selectize';

我总是得到这个'找不到模块'的错误,无论如何.我需要以某种方式导入/要求它做类似的事情

import EmberSelectize from 'wherever/it/is';
export default EmberSelectize.extend({
  //my own customizations
})
Run Code Online (Sandbox Code Playgroud)

小智 20

你很接近:

import EmberSelectize from 'components/ember-selectize';
Run Code Online (Sandbox Code Playgroud)

Addons名称空间本身 - 在这种情况下,ember-cli-selectize.因此,只需将命名空间添加到导入:

import EmberSelectizeComponent from 'ember-cli-selectize/components/ember-selectize';
Run Code Online (Sandbox Code Playgroud)

然后你可以扩展:

export default EmberSelectizeComponent.extend({ });
Run Code Online (Sandbox Code Playgroud)