Ember.js как расширить компонент ember-cli-addon

Я использую Stripe в своем приложении Ember и настроил его, следуя инструкциям здесь: https://github.com/sweettooth/ember-cli-stripe

так как мое приложение стоит прямо сейчас, компонент ember-checkout, установленный через это дополнение, находится в

myappname / node_modules / ember-cli-stripe / приложение / компоненты / stripe-checkout

Теперь я хочу создать новый компонент my-stripe-checkout и расширить его по умолчанию для компонента ember-cli-stripe.

Я пытался:

import StripeCheckoutComponent from '../node_modules/ember-cli-stripe/app/components/stripe-checkout';
import StripeCheckoutComponent from 'ember-cli-stripe/app/components/stripe-checkout';
import StripeCheckoutComponent from 'app/components/stripe-checkout';

в моем компоненте my-stripe-checkout, который я создал с помощью Ember g, но безрезультатно.

Я всегда получаю ошибку такого паттерна:

Could not find module `app/components/stripe-checkout` imported from `myappname/components/my-stripe-checkout`

И в соответствии с этим вопросом: Как расширить аддон ember-cli?

Я пробовал делать

import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';

но та же ошибка.

Я также пробовал оба:

export default Ember.StripeCheckoutComponent.extend({ })

а также

export default StripeCheckoutComponent.extend({})

к каждой итерации импорта, но, похоже, ничего не работает. Как расширить компонент ember-cli-addon?


person Darshan    schedule 19.01.2017    source источник


Ответы (1)


Что ж, вам нужно понимать, что каталог app аддона напрямую объединяется со структурой вашего приложения. Лучше всего хранить весь код в каталоге addon, однако ember-cli-stripe этого не сделал. Итак, изнутри вашего каталога components вы в основном можете делать

import StripeCheckoutComponent from './stripe-checkout';

or

import StripeCheckoutComponent from 'YourAppName/components/stripe-checkout';

Если компонент находится в каталоге addon аддона, правильным способом будет:

import StripeCheckoutComponent from 'ember-cli-stripe/components/stripe-checkout';
person Lux    schedule 19.01.2017
comment
Действительно, освещение. Так что мне не хватало того, что, поскольку структура этого конкретного аддона отличается, я не ссылался на правильный путь. Я не был уверен на сто процентов, где были объединены надстройки. Спасибо большое!! - person Darshan; 20.01.2017